快速部署Nginx+Uwsgi+Django环境
2021/4/28 7:26:36
本文主要是介绍快速部署Nginx+Uwsgi+Django环境,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
环境
Centos7 + Python3
编译安装uwsgi
yum install gcc -y cd /usr/local/src/ # 上传源码包 tar xf uwsgi-2.0.18.tar.gz -C /usr/local/ cd uwsgi-2.0.18 make ln -s /usr/local/uwsgi-2.0.18/uwsgi /usr/bin/uwsgi
使用uwsgi启动DrDoc(Django)
cd /data/soft/MrDoc/ # 切换到自己项目根目录 mkdir uwsgi_conf cd uwsgi_conf cat > uwsgi.ini << EOF # uwsig使用配置文件启动 [uwsgi] # 项目所在的根目录 chdir=/data/soft/MrDoc # 指定项目的application,区别于启动命令--wsgi-filemysite/wsgi.py module=MrDoc.wsgi:application socket=127.0.0.1:10001 # 进程个数 processes = 8 # 每个进程worker数 workers=5 procname-prefix-spaced=mywebapp # uwsgi的进程名称前缀 py-autoreload=1 # py文件修改,自动加载 # 指定IP端口,web访问入口 http=0.0.0.0:10000 # 指定多个静态文件:static目录和media目录,也可以不用指定该静态文件,在nginx中配置静态文件目录 for =static media static-map=/static=%(chdir)/%(_) endfor = # 启动uwsgi的用户名和用户组 uid=root gid=root # 启用主进程 master=true # 自动移除unix Socket和pid文件当服务停止的时候 vacuum=true # 序列化接受的内容,如果可能的话 thunder-lock=true # 启用线程 enable-threads=true # 设置一个超时,用于中断那些超过服务器请求上限的额外请求 harakiri=30 # 设置缓冲 post-buffering=4096 # 设置日志目录 daemonize=%(chdir)/uwsgi_conf/uwsgi.log # uWSGI进程号存放 pidfile=%(chdir)/uwsgi_conf/uwsgi.pid #monitor uwsgi status 通过该端口可以监控 uwsgi 的负载情况 # 支持ip+port模式以及socket file模式 # stats=%(chdir)/uwsgi_conf/uwsgi.status stats = 127.0.0.1:10002 EOF uwsgi --ini uwsgi.ini # 启动,ls查看当前目录是否有pid文件 uwsgi --stop uwsgi.pid # 关闭
配置nginx
nginx编译安装可参考https://bgcc.cc/Linux/11606/ 也可yum安装 cd /data/soft/nginx-1.16.1/conf # 自己对应的nginx配置文件下 mkdir extra vi nginx.conf http { ..... include extra/*.conf; # 在http模块下添加 } cd extra cat > wiki.conf << EOF upstream wiki_app { # nginx通过socket在环回接口地址的10001端口与本地的uWSGI进程通信 server 127.0.0.1:10001; } server { listen 80; server_name 192.168.4.210; access_log /data/logs/wiki_access.log; charset utf-8; gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location / { # nginx转发动态请求到uWSGI include uwsgi_params; uwsgi_connect_timeout 20; uwsgi_pass wiki_app; } # 项目静态文件路径,对应自己的项目路径 location /static { alias /data/soft/MrDoc/static; } # 项目媒体文件路径,对应自己的项目路径 location /media { alias /data/soft/MrDoc/media; } } EOF /data/soft/nginx-1.16.1/sbin/nginx -t /data/soft/nginx-1.16.1/sbin/nginx -s reload
附件下载
nginx-1.16.1+uwsgi-2.0.18
这篇关于快速部署Nginx+Uwsgi+Django环境的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享
- 2024-08-14nginx 让访问带有/relid的地址返回404 ,例子 /relid-x-0.36-y-131.html-icode9专业技术文章分享
- 2024-08-14nginx 判断地址有/statics/的路径,指向到/home/html/statics/目录-icode9专业技术文章分享