1 、安装 nginx
sudo apt-get install nginx
2 、安装 uwsgi
sudo pip3 install uwsgi
3 、确保 django 项目可以正常启动
4 、部署 uwsgi
在用户主目录下创建目录 uwsgi,里面来创建 uwsgi 的配置文件,每一个 项目需要创建一个单独的配置文件,一般以项目名_uwsgi.ini 方式命名(此处以部署 friutday 项目为例)
$ mkdir uwsgi
$ cd uwsgi
$ vi friutday_uwsgi.ini
[uwsgi]
socket = 127.0.0.1:8002
chdir = /home/tarena/friutday_1
wsgi-file = friutday/wsgi.py
processes = 4
threads = 2
stats = 127.0.0.1:8080
vhost = true
5 、部署 nginx 服务
$ sudo –i
$ cd /etc/nginx/sites-enabled/
$ vi project_nginx.conf
server {
listen 8000;
server_name fruitday.abc;
charset utf-8;
client_max_body_size 75M;
location /static {
alias /home/tarena/project/friutday/static;
}
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8002;
#include /home/tarena/project/friutday/uwsgi_params;
}
}
6 、拷贝 uwsgi_params 文件
$ sudo cp /etc/nginx/uwsgi_params /home/tarena/project/friutday
7 、重启 nginx 服务
$ sudo /etc/init.d/nginx restart
8 、收集 静态文件
8.1 在项目的 settings.py 中添加如下语句: STATIC_ROOT = ‘/home/tarena/project/friutday/static/’
8.2 在终端收集所有静态文件 $ python3 manage.py collectstatic
9.用uwsgi启动django项目
uwsgi --ini friutday_uwsgi.ini
Ubuntu安装Nginx和正确卸载Nginx Nginx相关
1.Ubuntu下安装Nginx比较简单
敲入下列命令即可:
sudo apt-get update
sudo apt-get install nginx
2.Ubuntu下卸载,稍不注意就会入坑
sudo apt-get remove nginx nginx-common # 卸载删除除了配置文件以外的所有文件。
sudo apt-get purge nginx nginx-common # 卸载所有东东,包括删除配置文件。
sudo apt-get autoremove # 在上面命令结束后执行,主要是卸载删除Nginx的不再被使用的依赖包。
sudo apt-get remove nginx-full nginx-common #卸载删除两个主要的包。
sudo service nginx restart #重启nginx
-----上面为单项目部署,如果需要多项目部署可以参考下面的一些操作**
多项目部署 步骤:
- 每个项目需要创建单独的uwsgi配置文件,选用不同的端口
- nginx的配置文件只要1个就可以,添加server{…}
- 设置开机自启动django项目 编写py文件
> import os
> uwsgi_files = os.listdir("/home/tarena/uwsgi")
> for i in uwsgi_files:
> os.system("uwsgi --ini /home/tarena/uwsgi/%s" % i)
- 编写sh脚本文件(project.sh)
#!/bin/bash
python3 /home/tarena/project.py
- 添加到开机自启动 拷贝到/etc/init.d/
sudo cp project.sh /etc/init.d/
- 修改权限
cd /etc/init.d/
sudo chmod 755 project.sh
- 添加到开机自启动
sudo update-rc.d project.sh defaults 99