請參考個人其它文章:Installing stable Python3.7.3 in CentOS7.5 --項目部署python
請參考個人其它文章:Installing the stable nginx-1.16.0 in CentOS7.5(source installation) --項目部署mysql
請參考個人其它文章:Installing and configuring MySql5.6 In CentOS7.5 --項目部署
安裝完成後,將開發環境中的數據庫文件導出:nginx
thanlon@thanlon-Ubuntu:~$ mysqldump -uroot -p blueflag>db.sql
上傳到服務器中,sql
thanlon@thanlon-Ubuntu:~$ scp db5.15.sql root@106.12.115.123:/root/db_file/
建立和use數據庫後,經過source指令導入到MySQL中,數據庫
source db.sql
[root@instance-mtfsf05r ~]# mkdir flask
thanlon@thanlon-Ubuntu:~/pythonWeb$ scp -r blueflag root@106.12.115.136:/root/flask
[root@instance-mtfsf05r ~]# pip3 install virtualenv
[root@instance-mtfsf05r ~]# cd flask/blueflag [root@instance-mtfsf05r blueflag]# virtualenv blueflagvenv
[root@instance-mtfsf05r blueflag]# source blueflagvenv/bin/activate
激活後出現虛擬化環境文件目錄名子:(blueflagvenv) [root@instance-mtfsf05r blueflag]#
,說明激活成功,當前正處於Python虛擬環境flask
根據項目的需求安裝(在虛擬環境中安裝),例如:個人這些庫segmentfault
(blueflagvenv) [root@instance-mtfsf05r blueflag]# pip install flask (blueflagvenv) [root@instance-mtfsf05r blueflag]# pip install wtforms (blueflagvenv) [root@instance-mtfsf05r blueflag]# pip install flask_sqlalchemy (blueflagvenv) [root@instance-mtfsf05r blueflag]# pip install requests (blueflagvenv) [root@instance-mtfsf05r blueflag]# pip install pymysql (blueflagvenv) [root@instance-mtfsf05r blueflag]# pip install flask_script
還可使用:安全
thanlon@thanlon-Ubuntu:~$ pip3 freeze>blueflag.txt
導出依賴包,而後直接經過:服務器
(blueflagvenv) [root@instance-mtfsf05r blueflag]# pip install -r blueflag.txt
安裝這些依賴包。網絡
(blueflagvenv) [root@instance-mtfsf05r blueflag]# pip install uwsgi
(blueflagvenv) [root@instance-mtfsf05r blueflag]# touch uwsgiconf.ini
在uwsgiconf.ini文件中寫入下面代碼塊的內容:(記得把註釋所有刪掉)
[uwsgi] socket = 127.0.0.1:8001#啓動程序時所使用的地址和端口 chdir = /root/flask/blueflag/#項目目錄 wsgi-file = manager.py#項目程序啓動文件 callable = app#程序內啓用的application變量名字 processes = 2#處理器的數量,個人是2個處理器 threads = 2 #線程數量 stats = 127.0.0.1:9191#獲取uwsgi統計信息的服務地址 ~
這樣安裝和配置uWSGI就完成了
配置Nginx做爲代理的目的是保證項目的安全和負載均衡。當存在網絡請求時,Nginx先進行處理,而後再將請求交給uWSGI處理。
[root@instance-mtfsf05r ~]# vi /usr/local/nginx/conf/nginx.conf
server { listen 80; server_name 106.12.123.123; #charset koi8-r; #access_log logs/host.access.log main; access_log /root/flask/blueflag/logs/access.log;#服務器接收的請求日誌 error_log /root/flask/blueflag/logs/error.log;#錯誤日誌 locatior / { include uwsgi_params; #這裏是導入的uwsgi配置 uwsgi_pass 127.0.0.1:8001;#須要和uwsgi的配置文件裏socket項的地址 uwsgi_param UWSGI_PYHOME /root/flask/blueflag/blueflagvenv;#python的位置(虛擬環境下) uwsgi_param UWSGI_CHDIR /root/flask/blueflag;#項目根目錄 uwsgi_param UWSGI_SCRIPT manager:app; }
[root@instance-mtfsf05r ~]# nginx
[root@instance-mtfsf05r blueflag]# cd /root/flask/blueflag/ [root@instance-mtfsf05r blueflag]# source blueflagvenv/bin/activate (blueflagvenv) [root@instance-mtfsf05r blueflag]# uwsgi uwsgiconf.ini
經過服務器IP地址訪問你的項目,正常訪問,則部署上線成功