
ubuntu部署nginx、 uwsgi、 django
-
将项目上传到服务器
- python manager.py runserver 0:80
- 在浏览器输入服务器的域名或者ip地址,访问成功。
-
安装uwsgi
- apt-get install python3.6-dev
- pip install uwsgi
- 编写uwsgi配置
[uwsgi] # 使用nginx配置
# socket = 0.0.0.0:8080
# 使用uwsgi配置
http = 0.0.0.0:8080
# 项目目录
chdir = 你的项目根目录
#wsgi.py文件的目录,相对根目录
wsgi-file = main/wsgi.py
# 指定工作进程中的进程数
processes = 4
# 指定工作进程中的线程数
threads = 2
#
master=True
# 保存启动之后的主进程的pid
pidfile=uwsgi.pid
# 设置uwsgi后台运行,uwsgi.log保存日志信息
daemonize=uwsgi.log
# 设置虚拟环境的路径
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 在里面加入
upstream mengshu {
# uwsgi监听的端口号和地址
server 0.0.0.0:8080
} server {
listen 80;
# 服务器的公网ip和域名,可配置二级域名
server_name 0.0.0.0:80; location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass mengshu;
} } - 将uwsgi的配置文件的http注释掉,将socket打开
- 重启uwsgi
- 关闭uwsgi
- uwsgi --stop uwsgi.pid
- 开启uwsgi
- uwsgi --ini uwsgi.ini
- 关闭uwsgi
- 启动nginx
- /usr/sbin/nginx
- 在浏览器输入IP地址和域名即可访问页面
- 查看响应头