nginx + supercisor + uwsgi部署flask、django 及https訪問配置(部署後記錄)

nginx與supervisor不多說,參考上篇文章:https://blog.csdn.net/a961634066/article/details/105265007

一、安裝uwsgi

      1.命令安裝
          pip linstall uwsgi

二、文件配置

      1.flask-uwsgi文件配置

            

[uwsgi]
# 必須與nginx配置的一樣
socket = 127.0.0.1:5000
uid=root
pid=root

# 啓動文件平級目錄
chdir = /home/total_project/film

# python 啓動程序文件
wsgi-file = manager.py

# python 程序內用以啓動的 application 變量名
callable = app

# 處理器數
processes = 4

# 線程數
threads = 2

#寫入日誌
#daemonize =/uwsgi/uwsgi.log

pidfile = /opt/uwsgi.pid

# 若使用虛擬環境,配置python虛擬環境地質
home = /opt/python_virtualenv/flask_env2/

    配置完成後,可用uwsgi --ini name.ini,運行根據輸出檢查是否有報錯,儘量少配先運行起來

2.django-uwsgi文件配置

[uwsgi]
#監聽的地址 必須和nginx中的一致
socket = 127.0.0.1:8000
#wsgi文件,在你的項目配置目錄下可以找到 注意:最後輸入絕對地址
wsgi-file = /home/django/wsgi.py
# 你的項目的根目錄 絕對地址
chdir = /home/django
# 你項目使用的虛擬環境的根目錄 絕對地址
home = /home/python/django
#你的日誌目錄,注意的是,你的django控制檯輸出的日誌都會在這裏輸出,uwsgi的相關日誌也在這裏
daemonize = /var/test.log
####下面的配置可以有 也可以沒有,看個人需求,不建議配置
# 主進程
master = true
# 多站模式
vhost = true
# 多站模式時不設置入口模塊和文件
no-site = true
# 子進程數
workers = 2
# 退出、重啓時清理文件
vacuum = true

3.nginx文件配置

 location / {
            include  uwsgi_params;
            uwsgi_pass  127.0.0.1:5000;
            index  index.html index.htm;
            client_max_body_size 8192M;
        }

4.supervisor文件配置

[program:test-uwsgi]
# 項目目錄
directory=/home/total_project/film/
# 啓動名稱
command=/opt/python_virtualenv/django_env1/bin/uwsgi --ini /opt/uwsgi/test2.ini
stdout_logfile=/var/test_uwsgi.log
stderr_logfile=/var/test_uwsgi.err
user=root
numprocs=1
process_name=%(program_name)s
autostart=true
autorestart=true
startsecs=5
stopwaitsecs=20
stopsignal=TERM
stopasgroup=true
killasgroup=true
exitcodes=1,2
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=5
stderr_logfile_maxbytes=10MB
stderr_logfile_backups=5

基本完事,可以進行測試

####https訪問的一些補充,用OpenSSL 生成https證書#####

(1)執行openssl version

        檢查是否安裝openssl

(2) mkdir /etc/pki/nginx

        創建證書目錄

(3) openssl genrsa -des3 -out server.key 1024

       創建服務器私鑰,長度1024位, des3加密算法的. (之後輸入一個口令(兩遍),需要記住),如果是CentOS Linux release                 8.0.1905版本,需要式2048位

(4)openssl req -new -key server.key -out server.csr

        基本信息,隨意輸

(5)cp server.key server.key.org

        openssl rsa -in server.key.org -out server.key    #需要輸入密碼

        在加載SSL支持的Nginx並使用上述私鑰時除去必須的口令

(6)openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

        365是過期天數,可以設置

(7)nginx中

         ssl_certificate /etc/pki/nginxserver.crt;

        ssl_certificate_key /etc/pki/nginxserver.key;

5.一些重啓命令

檢查nginx文件是否配置正確

nginx -t     

重啓nginx

systemctl restart nginx

重載supervisor

supervisorctl -c supervisor.conf  -u root -p 123456 reload

supervisorctl -c supervisor.conf  -u root -p 123456 status

根據配置過程記錄,如果問題,請指出

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章