django 部署项目
django + nginx + uwsgi + centos7
django 部分
# django项目文件夹 (初始状态)
/root/django_name
django_name/
app01/
app02/
manage.py
uwsgi 部分
1. 在django项目文件夹下创建 uwsgi.ini 文件
touch uwsgi.ini
# 创建后的django文件夹
/root/django_name
django_name/
app01/
app02/
manage.py
uwsgi.ini
2.配置 uwsgi.ini 文件
#添加配置选择
[uwsgi]
#配置和nginx连接的socket连接
##### (此处一定和nginx中的保持一致)
socket=172.27.134.101:8000
#配置项目路径,项目的所在目录
chdir=/hxc/Voi
#配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录名
wsgi-file=Voi/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=/hxc/Voi/uwsgi.pid
#配置dump日志记录
daemonize=/hxc/Voi/uwsgi.log
#py文件修改 自动更新
py_autoreload=1
#指定IP端口 web访问入口 django启动的ip:port就是此ip:port
#####(在此端口访问, 并未经过nginx)
http=0.0.0.0:9000
#启动uwsgi的用户名和用户组
uid=root
gid=root
3.通过 uwsgi 启动django
# pwd 查看当前路径 是否发在django_name下
/root/django_name
# 启动 uwsgi
uwsgi --ini uwsgi.ini
[uWSGI] getting INI configuration from uwsgi.ini # 出现这行说明启动成功
# 浏览器查看是否启动成功
http://172.27.134.101:9000
# 关闭 uwsgi
uwsgi --stop uwsgi.pid
# 重启 uwsgi
uwsgi --reload uwsgi
4. 创建文件 uwsgi_params
# 配置使用
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
nginx 部分
1 . 创建 nginx 配置文件
# 创建当前目录
/root/django_name
# 创建 django_nginx.conf 文件
touch django_nginx.conf
# 软连接
ln -s /root/django_name/djano_nginx.conf /etc/nginx/conf.d
2. django-nginx 文件配置
# luffy_nginx.conf
# 和 uwsgi 进行通信
upstream django {
# server unix:///path/to/your/mysite/mysite.sock;
# for a file socket
server 172.27.134.101:8000;
# for a web port socket (we'll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 8999;
# the domain name it will serve for
# 写自己的域名 没有的话就写出 127.0.0.1:80
server_name 127.0.0.1:80;
# substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
location / {
uwsgi_pass Voi;
uwsgi_param UWSGI_SCRIPT Voi.wsgi;
uwsgi_param UWSGI_CHDIR /root/django_name/
include /hxc/django_name/uwsgi_params;
# the uwsgi_params file you installed
}
}
3.启动 nginx
# 先启动uwsgi
uwsgi --ini uwsgi.ini
# 启动 nginx
systemctl start nginx
# 产看端口占用
lsof -i:8999
lsof -i:9000
其他
uwsgi开机自启动
# 查看命令所在位置
-> whereis uwsgi
/usr/local/bin/uwsgi
# 在 /etc/rc.local 文件下进行配置(开机执行命令)
# 注意命令全是 绝对路径
/usr/local/bin/uwsgi --ini /hxc/Voi/startConf/uwsgi.ini