ubuntu部署nginx、 uwsgi、 django
- 将项目上传到服务器
- python manager.py runserver 0:80
- 在浏览器输入服务器的域名或者ip地址,访问成功。
- 安装uwsgi
- apt-get install python3.6-dev
- pip install uwsgi
- 编写uwsgi配置
1 [uwsgi] 2 3 # 使用nginx配置 4 # socket = 0.0.0.0:8080 5 # 使用uwsgi配置 6 http = 0.0.0.0:8080 7 # 项目目录 8 chdir = 你的项目根目录 9 #wsgi.py文件的目录,相对根目录 10 wsgi-file = main/wsgi.py 11 # 指定工作进程中的进程数 12 processes = 4 13 # 指定工作进程中的线程数 14 threads = 2 15 # 16 master=True 17 # 保存启动之后的主进程的pid 18 pidfile=uwsgi.pid 19 # 设置uwsgi后台运行,uwsgi.log保存日志信息 20 daemonize=uwsgi.log 21 # 设置虚拟环境的路径 22 virtualenv=/root/.virtualenvs/mengshu
23 # 代码更改后自动重启服务
24 py-autoreload=1 - 启动uwsgi服务
- 进入到项目的根目录下
- uwsgi --ini uwsgi.ini
- 若出现
- [uWSGI] getting INI configuration from uwsgi.ini
- 配置成功
- 打开浏览器访问ip或域名配置的端口,若无响应,则查看相应的端口有没有被打开
- apt-get install python3.6-dev
- 安装nginx
- sudo apt-get update
- sudo apt-get install nginx
- 安装完之后nginx的配置会默认在 /etc/nginx下
- 进入该文件夹 cd /etc/nginx
- 编写nginx配置: sudo vim nginx.conf
- 在该文件里找到http 在里面加入
1 upstream mengshu { 2 # uwsgi监听的端口号和地址 3 server 0.0.0.0:8080 4 } 5 6 server { 7 listen 80; 8 # 服务器的公网ip和域名,可配置二级域名 9 server_name 0.0.0.0:80; 10 11 location / { 12 include /etc/nginx/uwsgi_params; 13 uwsgi_pass mengshu; 14 } 15 16 }
- 将uwsgi的配置文件的http注释掉,将socket打开
- 重启uwsgi
- 关闭uwsgi
- uwsgi --stop uwsgi.pid
- 开启uwsgi
- uwsgi --ini uwsgi.ini
- 关闭uwsgi
- 启动nginx
- /usr/sbin/nginx
- 在浏览器输入IP地址和域名即可访问页面
- 查看响应头