Django + Uwsgi + Nginx + Centos7 项目部署

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

posted @ 2021-02-07 10:02  隔江千万里  阅读(112)  评论(0)    收藏  举报