Django的+ LINUX + Uwsgi + Nginx的项目部署文档
WSGI
在生产环境中使用WSGI作为python web的服务器
WSGI:全拼为Python Web服务器网关接口,Python Web服务器网关接口,是项目默认会生成一个wsgi.py文件,确定了设置模块,uWSGI 实现了WSGI的所有接口,是一个快速,自我修复,开发人员和系统管理员友好的服务器,C语言编写,效率高
Nginx的
使用nginx的的的的作用主要包括负载均衡,反向代理
项目通过Django的+ Uwsgi + Nginx的进线线上服务器部署
1 、文件打包传服务器,通过xshell
文件>传输> ZMODEM>用ZMODEM发送>文件或压缩包
Linux的的下压缩包解压命令:
压缩格式:解压压缩包路径
tar.gz格式:tar zxvf压缩包路径
(RAR格式压缩包解压较为复杂,尽量别传RAR格式)
2 、Xshell使用技巧
文件>新建,开启多终端
建议开多终端,这样对uwsgi,Nginx的的,项目代码进行调试修改时,可以避免在一个终端下来回切换目录,提高工作效率,具体开终端的个数根据实际需求来定,并且右击选项卡终端名重命名,更加方便知道哪个终端对应做哪些事情
3 、修改配置文件问题
不管修改uwsgi的配置文件uwsgi.ini还是修改的nginx的配置文件nginx.conf,修改完都必须重启服务才能生效,并且启动服务要在指定的目录下面重启
4 、Uwsgi的安装
方法1,pip install uwsgi(有网的情况下)
方法2,没有网络情况下去官网下载uwsgi压缩包,为tar.gz的格式,传送服务器,进行解压,解压路径/ LIB /目录下面,然后切换到uwsgi文件目录,执行以下两个命令,即可完成安装,示意图如下(解压路径可以自定义,记下来,方便以后进行维护)
python setup.py构建
python setup.py安装
5 、Django项目中配置uwsgi
1,项目目录(例如本例中DataBusines)下创建uwsgi.ini文件,配置如下
本地测试一般用:127.0.0.1即可,端口可以自定
线上的话用线上服务器IP,端口自定,该配置访问地址需要和nginx.conf中的配置一样
例如:这是后面的nginx.conf配置文件,两者地址和端口需要一致
6 、Uwsgi的使用(启动,查看进程,关闭)
启动uwsgi.ini,需要切换到项目目录
启动uwsgi:uwsgi --ini uwsgi.ini
查看uwsgi进程:ps ajx | grep uwsgi
关闭uwsgi:
查阅相关资料文档,提到多种命令关闭方式,关闭命令的意义在于修改配置文件后,
一般需要重启uwsgi才会生效
1,uwsgi --stop uwsgi.pid(不好用,经常报pid找不到)
2,sudo pkill -f uwsgi -9(不好用,有可能报错,无效的-9)
3,killall -9 uwsgi(该命令最好用)
7 、通过uwsgi网页访问
因为uwsgi本身就是网络服务器,我们可以通过更改配置直接通过uwsgi进行访问网页
如下图:我们在服务器通过VI更改配置文件为HTTP请求模式,更改后保存并重启uwsgi服务器,在我们自己的浏览器访问设置的IP和端口,成功显示页面,证明uwsgi配置成功
HTTP模式:直接使用uwsgi时使用
插座模式:使用Nginx的时使用
8 、Nginx的安装
方法1,pip install nginx(官方提供有该方法,但是之前在本地测试遇到坑,没有配好,建议通过方法二中压缩包方式安装)
方法2,没网情况下去官网下载nginx的压缩包,为tar.gz的格式,传到服务器,进行解压,解压路径/ LIB /目录下面,然后切换到nginx的文件目录,执行以下三个命令,进行安装
./配置
使
sudo make install
执行完上上命令后,nginx的被安装在了/ usr /本地/ nginx的/,安装成功
9、nginx的使用(启动,查看进程,关闭)
进入nginx安装目录:cd / usr / local / nginx /
启动nginx:sudo sbin / nginx
查看nginx进程:ps ajx | grep nginx
关闭uwsgi:
查阅相关资料文档,提到多种命令关闭方式,关闭命令的意义在于修改配置文件后,一般需要重启的nginx的才会生效
1,sudo sbin / nginx -s stop(不好用,报异常无效的-s)
2,sudo pkill -f uwsgi -9(不好用,报错,无效的-9)
3,killall -9 nginx(该命令最好用)
命令报错示意
10 、nginx的配置文件nginx.conf配置
具体如图中所示,配置文件目录/usr/local/nginx/conf/nginx.conf,配置文件的修改需要通过VI进行修改
11 、静态资源配置
配置静态资源目录是因为让静态资源通过nginx的的可以直接返回,不需要通过uwsgi,也就是让uwsgi只处理后端逻辑,不处理静态资源,优化性能
1,静态资源在nginx.conf中的配置,路径可以自定义
2,在服务器上创建如下目录
sudomkdir -vp / var / www / DataBusines / static /
3,修改目录权限
sudochmod 777 / var / www / DataBusiness / static /
4,项目代码中配置设置,加入该目录(本地演示在IDE中,线上用可以ⅵ)
5,收集所有静态文件到static_root指定目录
服务器上切换到项目目录(DataBusines),执行如下命令收集
python manage.py collectstatic
6,查看静态资源目录
12 、更改uwsgi.ini配置
刚才在做uwsgi时候,用了HTTP配置,现在的nginx的正式搭建起来,需要改成插座配置,修改完毕要重启uwsgi
Settings.py需要调试设置为不调试,允许访问的地址设置为服务器地址
以上步骤完成后,访问服务器主机地址和端口,如果nginx.conf中配置的为80端口,则地址栏不需要输入端口,因为浏览器请求端口也是默认为80端口,非80端口的需要自己在IP后面添加
更多精选文章请查看“ python VIP精品学习社区 ”
经验有限,不足之处欢迎指正
公众号发文源码和资料获取:添加微信,添加成功后发送,“资料”
蟒蛇爬虫人工智能大数据公众号
公众号回复主如下关键词主电子杂志相关视频教程:
蟒,django的,烧瓶,数据分析,爬虫,运维,大数据,量化金融,机器学习,深度学习,自然语言处理,人工智能,电子书,PHP,PS,JAVA,MySQL的,SEO,UI