CentOS7+Python+Nginx+MySQL Web伺服器
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140262673295076f525af00734a8e924c5fc6ff5b6091000
由於作業系統不同,使用的命令不同。並且去掉了程式碼同步,自動部署。
(一)準備階段
1. 下載程式碼(Release 版本) https://github.com/michaelliao/awesome-python-webapp/tree/day-01
2. 程式碼上傳到 Linux 該目錄下 : /srv/awesome
3. 準備階段完畢
(二)環境軟體介紹
Nginx:高效能Web伺服器+負責反向代理;
gunicorn:高效能WSGI伺服器;
gevent:把Python同步程式碼變成非同步協程的庫 是一個基於協程的網路庫;
Supervisor:監控服務程序的工具;
MySQL:資料庫服務。
(三)安裝開發協同軟體
1. 安裝 nginx , yum install nginx
2.安裝gunicorn, yum install gunicorn
3.安裝python-gevent, yum install python-gevent
4.安裝supervisor, yum install supervisor
5.安裝mysql-server, yum install mysql-server
(四)安裝Python 外掛
1.安裝 python-jinja2 說是前端框架, pip install python-jinja2
2.安裝python-mysql.connector 資料庫連線, pip install python-mysql.connector
3.到此安裝階段完成
(五)配置
1. 配置 Supervisor ,使用者啟動 gunicorn
找到 supervisor 預設配置檔案: /etc/supervisord.conf
開啟該檔案,發現檔案最後面
[include]
files = /etc/supervisord.d/*.conf
說明 配置檔案可以放置到 /etc/supervisord.d/ 目錄下
然後:
supervisorctl reload
supervisorctl start awesome
supervisorctl status
2. 配置 nginx
nginx 預設配置檔案:/etc/nginx/nginx.conf
開啟該檔案,遮蔽掉 server{} 節點 , 自己配置。
檔案中 include /etc/nginx/conf.d/*.conf; 說明配置檔案,可以放到 conf.d 目錄下,並以.conf 結尾,就能記載起。
重啟 nginx 服務 ,命令:nginx -s reload
如果失敗 ps -ef | grep nginx 檢視 程序,殺程序,重啟 nginx
(六)遇到的問題
1. import mysql.connector 失敗:
失敗原因,python 沒有安裝mysql驅動。
2. nginx 配置問題
命令列執行 nginx ,啟動 nginx
3. Supervisor 配置問題
沒找到 預設的配置目錄