亲身验证切实可行的python项目部署方案
目标 : 在浏览器输入 www.python1.com 回车
进入到Django项目主页
概念
- Django项目(Web应用)
该文章中的django项目为fruitday Web服务
- nginx : 高并发处理的好
- Apache : 稳定
LNMP : Linux Nginx MySQL Python/PHP/Perl
LAMP : Linux Apache MySQL Python/PHP/Perl
- uwsgi
是Web服务器与Web框架之间一种简单而通用的接口
- Django项目(Web应用)
项目部署
部署环境准备
- 确保Django项目能够运行
安装Web服务nginx(用apt-get去安装)
- 安装
sudo apt-get install nginx - 启动
sudo /etc/init.d/nginx restart - 验证
打开浏览器输入: 127.0.0.1:80 -> Welcome to Nginx
- 安装
安装uwsgi(务必用pip3去安装)
- 安装
sudo pip3 install uwsgi - 验证
uwsgi --http :9000 --chdir /home/tarena/myproject/fruitday/ --module fruitday.wsgi
- 安装
在线商城部署
配置uwsgi(配置文件)
和nginx通信端口 自身启动占用的端口- 在项目目录(manager.py所在路径)中新建uwsgi启动文件:fruitdayUwsgi.ini
在配置文件中写入如下内容:
[uwsgi]指定和nginx通信的端口
socket=127.0.0.1:8001
项目路径
chdir=/home/tarena/myproject/fruitday
wsgi.py路径
wsgi-file=fruitday/wsgi.py
进程数
processes=4
线程数
thread=2
uwsgi自身占用端口
stats=127.0.0.1:8080
配置nginx(配置文件)
- sudo -i
- cd /etc/nginx/sites-enabled/
vi projectNginx.conf
server{# 指定本项目监听端口,浏览器输入端口 listen 80; # 域名 server_name www.python1.com; # 指定字符集 charset utf-8;# 指定收集静态文件路径 location /static{alias /home/tarena/myproject/fruitday/static;
}
# 和uwsgi通信端口和通信文件 location /{include uwsgi_params;uwsgi_pass 127.0.0.1:8001;
}
}
拷贝uwsgi_params到项目根目录
- sudo -i
- cd /etc/nginx
- cp uwsgi_params /home/tarena/myproject/fruitday
改掉nginx默认的server(80)
- sudo -i
- cd /etc/nginx/sites-enabled
- vi deault #把listen的端口由80改为800
server {
listen 800 default_server;
listen [::]:80 default_server;
- 重启nginx服务
sudo /etc/init.d/nginx restart
收集静态文件
- 在settings.py文件中添加路径(STATIC_ROOT)
STATIC_ROOT = '/home/tarena/myproject/fruitday/static' 收集静态文件
- cd /home/tarena/myproject/fruitday
- python3 manage.py collectstatic
- 在settings.py文件中添加路径(STATIC_ROOT)
添加本地DNS解析
- sudo -i
- vi /etc/hosts
127.0.0.1 www.python1.com - 重启网络服务
sudo /etc/init.d/networking restart
uwsgi启动项目
- 切换到项目目录
cd /home/tarena/myproject/fruitday - 利用uwsgi启动项目
uwsgi --ini fruitdayUwsgi.ini
- 切换到项目目录
- 打开浏览器,输入 www.python1.com
直接进入项目主页
亲身验证切实可行的python项目部署方案相关推荐
- python项目部署
第 1 章 部署基础知识 1.1 部署基础 学习目标: 了解 传统项目生命周期的阶段特点 了解 新型项目生命周期的特点 了解 部署方案的一般流程 1.1.1 项目生命周期 世间万物皆有其生命,软件项目 ...
- 华为云·云享专家公开课:45分钟掌握Python项目部署与调度核心逻辑直播
爬虫项目在编写完成后往往需要部署到服务器上,会经历哪些阶段?如何运行Python 的 EGG 包?华为云专家在线公开课将于 5.22日19:00为你揭秘,45分钟让你轻松掌握Python项目部署与调度 ...
- 如何将Python项目部署到新电脑上运行?
如何将Python项目部署到新电脑上运行? 在工作中,可能需要在新服务器上部署项目代码,例如新增服务器.把测试环境的代码部署到生产环境等. 在生活中,也会遇到换新电脑,需要将自己在旧电脑上写的(项目) ...
- 小奎因的 PYTHON 项目部署与调度直播分享来了
" 阅读本文大概需要 10 分钟. " "凉风有性 秋月无边--" 编不下去了. 自从上次发布开源库 aiowebsocket 之后,小奎因已经很久没有在公众号 ...
- python 怎么部署_如何把Python项目部署到服务器上
如何把Python项目部署到服务器上 一,不需要域名的情况下 1,访问阿里云官网 2,注册登录(建议支付宝授权) 3,登陆后--->产品-->云服务器ECS 4,滚动条拉倒页面底部--&g ...
- Maven项目部署方案
以xbank项目做为应用背景,简单说明一下Maven项目的部署方案: 1.项目说明 xbank基础服务端的11个子项目均采用Maven搭建: 其中各项目功能设计如下: froad-xbank-serv ...
- python项目部署到docker_使用docker 部署python 项目
使用python 开发了一个restfu api程序,使用docker镜像部署.主要有如下步骤,简单记录以供以后参考. 1. 创建DockerFile文件 创建一个DockerFile文件,文件名为D ...
- 如何将本地python项目部署到服务器上_如何将本地的Django项目部署到云服务器
如何将本地的Django项目部署到云服务器 开发环境 开发语言: Python 后台框架:Django 前端框架:bootstrap web服务器:nginx wsgi服务器:uwsgi 查看本地项目 ...
- python项目部署失败的原因_python – 使用scrapyd部署项目时出错
我的项目文件夹中有多个蜘蛛,想要一次运行所有的蜘蛛,所以我决定使用scrapyd服务运行它们. 我已经开始通过看到 here来做到这一点 首先,我在当前项目文件夹中 >我打开了scrapy.cf ...
最新文章
- 30、Arrays工具类
- python%20语言 20培训_Python语言学习之20个值得学习的Python技巧
- SAP MM MIGO + 311 针对预留单做转库不能修改目的地存储地点!
- 对于python 3.x与python2.x中新型类的继承特性总结
- 2016年科技阅读列表
- Magento--修改已存在的订单的运费
- java main 命令行_java Main 命令行
- extJs相关名字解释
- k8s核心技术-Pod(健康检查)_健康检查的方式_以及pod崩溃后如何处理---K8S_Google工作笔记0023
- excelexportentity中设置null不显示的方法_如何在 Creator3D 中切换模型贴图,超级简单!...
- iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view...
- vue-video-player 一款vue的前端视频播放插件 支持m3u8
- dojo实现省份地市级联报错(一)
- 杨丫头,送你只大喵~!!
- R语言绘图的中文字体处理
- 第十七章、程序管理与 SELinux 初探
- UE4多人 mysql_UE4 添加多人联机功能
- Google AI逆天了!
- 保险怎么买?有哪些销售渠道?各自的优缺点是什么?
- 苹果电脑和Windows怎么切换 苹果电脑安装双系统的利弊
热门文章
- python 笔试题 英方_经典算法题 :找字符串中的逆序对(百度笔试题)
- java 相加的函数_Java8 Collectors求和功能的自定义扩展操作
- 贪心算法区间调度问题思路代码证明
- java aio为什么不稳定_为什么我不提倡在Java中使用static
- 自学计算机二级office用什么书,暑假里想要自学计算机二级office有哪些什么好的建议...
- 邮件header中的subject或者from解码
- python3 split()函数
- qt 中如何播放声音(QSound)
- LeetCode:62. 不同路径
- 【业务知识】档案数字化加工处理过程