服务器Ubuntu系统上,利用Nginx+uWSGI部署Django项目(多个项目)

前提已经安装好Nginx和uwsgi。 将Django项目上传到服务器上。 image 在项目根目录上,创建uWSGI的配置文件uwsgi.ini。 image 个人简历项目-uwsgi.ini配置

1[uwsgi] 2socket=:8000 3# 项目在服务器上的地址 4chdir=/home/ubuntu/chenzhanxu/blog 5module=resume.wsgi 6master=true 7processes=2 8threads=2 9vacuum=true 10harakiri=120 11buffer-size=65536 12lazy-apps=true 13# 项目的虚拟环境 14home=/home/ubuntu/.virtualenvs/chen

个人博客项目-uwsgi.ini配置

1[uwsgi] 2# 开放的服务器端口号 3socket=:8001 4# 项目在服务器上的地址 5chdir=/home/ubuntu/chenzhanxu/blog 6module=blog.wsgi 7master=true 8processes=2 9threads=2 10vacuum=true 11harakiri=120 12buffer-size=65536 13lazy-apps=true 14# 项目的虚拟环境 15home=/home/ubuntu/.virtualenvs/chenzhanxu

尽量将ini文件中的注释删掉,以免报错。 uwsgi文件配置完之后,再来配置Nginx,Nginx默认的配置文件都在/etc/nginx目录下,所以在/etc/nginx/sites-available目录下进行配置default文件。

sudo vim /etc/nginx/sites-available/default

我是把default文件中的内容全部备份了一份(免得改错不知道源文件),然后删除了。

1# 第一个项目配置 2server { 3 # SSL证书 4 listen 443 ssl; 5 ssl_certificate /home/ubuntu/chenzhanxu/chenzhanxu.top_nginx/chenzhanxu.top_bundle.crt; 6 ssl_certificate_key /home/ubuntu/chenzhanxu/chenzhanxu.top_nginx/chenzhanxu.top.key; 7 ssl_session_timeout 5m; 8 ssl_protocols TLSv1.2 TLSv1.3; 9 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 10 ssl_prefer_server_ciphers on; 11 # 第一个项目的域名(一级域名) 12 server_name www.chenzhanxu.top; 13 charset UTF-8; 14 # 错误记录 15 access_log /home/ubuntu/chenzhanxu/blog/log/blog_access.log; 16 error_log /home/ubuntu/chenzhanxu/blog/log/blog_error.log; 17 18 client_max_body_size 75M; 19 20 location / { 21 22 include uwsgi_params; 23 uwsgi_pass 127.0.0.1:8001; #端口号-要和uwsgi中的一样 24 uwsgi_read_timeout 10; 25 26 } 27 # 静态文件 28 location /static { 29 30 expires 30d; 31 autoindex on; 32 add_header Cache-Control private; 33 alias /home/ubuntu/chenzhanxu/blog/app/static; 34 35 } 36 37} 38# 第二个项目配置 39server { 40 41 listen 80 default_server; 42 # 第二个项目的域名(二级域名) 43 server_name resume.chenzhanxu.top; 44 charset UTF-8; 45 # 错误记录 46 access_log /home/ubuntu/chenzhanxu/resume/log/resume_access.log; 47 error_log /home/ubuntu/chenzhanxu/resume/log/resume_error.log; 48 49 client_max_body_size 75M; 50 client_header_buffer_size 16k; 51 large_client_header_buffers 4 64k; 52 53 location / { 54 55 include uwsgi_params; 56 uwsgi_pass 127.0.0.1:8000; #端口号-要和uwsgi中的一样 57 uwsgi_read_timeout 10; 58 59 } 60 # 静态文件 61 location /static { 62 63 expires 30d; 64 autoindex on; 65 add_header Cache-Control private; 66 alias /home/ubuntu/chenzhanxu/resume/app/static; 67 68 } 69 70} 71

Nginx与uwsgi配置完成之后,用uwsgi启动项目。

1# 需要到项目的跟目录上运行uwsgi.ini文件 2sudo uwsgi --ini uwsgi.ini 3# 后台运行,关闭ssh也可以查看 4sudo uwsgi -d --ini uwsgi.ini 5# 查看运行中的uwsgi 6ps -ef|grep uwsgi 7# 关闭运行中的uwsgi 8udo kill -9 *****

image

点赞
收藏

评论区

加载中...

相关推荐

Nginx+uwsgi+ssl配置https

使用原始django,太过于笨重和杂多nginx是一个轻量级的web服务器,在处理静态资源和高并发有优势uwsgi是一个基于python的高效率的协议,处理后端和动态网页有优势所以这里采用静态网页交给nginx解析,动态网页交给uwsgi解析,并且nginx配置ssl,即可以使用出高安全,高效率的部署。步骤我

Django+nginx+uwsgi部署教程(centos7+ubuntu16.4)

项目部署教程在线演示(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2F139.199.131.146%2F)1.1.原理介绍django 一个基于python的开源web框架uwsgi 一是一个web服务器,也可以当做中间件

Flask + Gunicorn + Nginx 部署

最近很多朋友都在问我关于Flask部署的问题,说实在的我很乐意看到和回答这样的问题,至少证明了越来越多人开始用Flask了。之前我曾发表过一篇在Ubuntu上用uwsginginx的Flask部署方法,说实在的uwsgi是个大坑可能用在Django上还好吧,不过用在Flask上未必就如此。至少,uwsgi是个极

Nginx与uWSGI交互

1\.更改uwsgi的配置文件uwsgi.iniuwsgi...使用nginx连接时,监控地址socket127.0.0.1:8080直接做web服务器时,所监控地址http127.0.0.1:80802\.在nginx配置文件中的路由模块添加uwsgi支持.

Django3.0 + nginx + uwsgi 部署

CentOS7.6下部署Django3.0应用,使用nginxuwsgi部署:1\.uwsgi部署pipinstalluwsgi在项目的根目录中,新建文件夹conf,然后进入conf文件夹,并新建文件uwsgi.ini,内容如下:mysite_uwsgi.inifileuws

Linux学习笔记之Django项目部署(CentOS)

一、引入  用Django写了一个测试的项目,现在要部署在Linux上,一般这种情况下,只要在项目里面敲一行命令:python manage.py runserver0.0.0.0:8000就行了。但这是在开发项目的时候用这个可以测试项目,在浏览器看到效果。正真部署到服务器上,这样是不行的,因为窗口一关,Django也就关了。当然你也可以一直不关。。。