寫在前面
之前的文章中,我們詳細講述了怎樣安裝 Nginx,Python,Supervisor,Gunicorn,HTTPS。經本人多次測試是完全可以跑通的,那么本篇將介紹怎樣將這些組合起來運行一個HTTPS的后端接口API
正文
注意
如果你想連接mysql,請先安裝 mysqlclient
yum install mysql-devel
pip3 install mysqlclient
配置Nginx文件
我們之前配置過 HTTPS 的Nginx文件,由於接口就是這個HTTPS所以我們將其寫在一起,打開之前的conf,編輯
server { # 配置HTTPS listen 443 ssl; # 1.1版本后這樣寫 server_name www.xxxx.cn; #填寫綁定證書的域名 ssl_certificate /root/lz/macalline/1_www.xxxx.cn_bundle.crt; # 指定證書的位置>,絕對路徑 ssl_certificate_key /root/lz/macalline/2_www.xxxx.cn.key; # 絕對路徑,同上 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協議配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件>配置 ssl_prefer_server_ciphers on;
# 配置靜態資源
location ^~ /media/ {
root /data/www;
} # 配置后端API location / { proxy_pass http://xxx.xxx.xxx.xxx:3000; # 綁定服務器指定的端口 } # 指定log access_log /root/lz/logs/nginx_macalline_access.log; # success_log error_log /root/lz/logs/nginx_macalline_error.log; # error_log # 開啟gzip gzip on; gzip_min_length 1k; # 最小壓縮范圍 gzip_buffers 4 16k; gzip_comp_level 5; # 壓縮級別1-9,越大壓縮的越小 gzip_types text/plain application/x-javascript text/css application/xml application/json text/javascript image/jpeg image/png; # 指定壓縮文件 gzip_disable "MSIE [1-6]\."; }
server { listen 80; server_name www.chnmig.cn; return 301 https://$server_name$request_uri;
}
配置supervisor文件
因為還需要搭配supervisor使用,所以我們還需要給supervisor加一個指向
我們進入配置文件夾新建一個配置,名字隨便(記得是 .conf 文件)
[program:macalline] directory=/root/lz/macalline command=/usr/lib/python3/bin/gunicorn --workers 5 -b 0.0.0.0:3000 manager:app autostart=true autorestart=true stdout_logfile=/root/lz/logs/supervisor_macalline_out.log stderr_logfile=/root/lz/logs/supervisor_macalline_err.log
重啟 Nginx
寫入新配置后需要重啟 Nginx
/usr/lib/nginx/sbin/nginx -s reload
沒有提示錯誤代表成功,出現錯誤一般是配置文件有問題
也可以嘗試
/usr/lib/nginx/sbin/nginx -c /usr/lib/nginx/conf/nginx.conf
重啟 supervisor
為了保險起見我們先kill掉主進程
ps -fe | grep supervisord
查詢到進程后kill掉相關進程
然后重啟進程
/usr/lib/python3/bin/supervisord -c /usr/lib/supervisor/supervisord.conf
如果出現以下錯誤檢查是否kill完
進入shell
/usr/lib/python3/bin/supervisorctl -c /usr/lib/supervisor/supervisord.conf
進入命令行
如出現錯誤提示需要排錯后重啟主進程
以上錯誤需要在提示位置新建文件
如果出現別的錯誤請查看主配置文件中的文件路徑名字是否寫錯
重載
reload
輸入 y 確認,為了保險更新一下
update
啟動
restart NAME
隨后測試是否正常訪問即可。
祝你成功!