參考文章:www.jianshu.com/p/f1acbd401…python
1)下載 python 3.6.1mysql
wget https://www.Python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
複製代碼
2) 解壓nginx
tar xJf Python-3.6.1.tar.xz
複製代碼
3) 進入 python-3.6.1 目錄c++
cd Python-3.6.1
複製代碼
4)安裝sql
./configure --prefix=/usr/local/python3 && make && make install
複製代碼
若是安裝失敗須要先執行:shell
sudo yum install gcc-c++
複製代碼
若是報:zipimport.ZipImportError: can't decompress data; zlib not available數據庫
執行:yum -y install zlib*
flask
5)建立python3軟連接bash
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
複製代碼
通常安裝python3後pip3會一塊兒安裝了,(pip3 -V查看是否安裝)若是沒有安裝pip3服務器
1)安裝虛擬環境
pip3 install virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
複製代碼
2)建立Python的虛擬環境
在指定目錄下執行則安裝在該目錄下(好比能夠在py36venv下,先mkdir py36venv)
/usr/local/python3/bin/virtualenv -p /usr/bin/python3 venv
複製代碼
3)激活虛擬環境(虛擬環境目錄下執行,如py36venv下)
source venv/bin/activate
複製代碼
4)關閉環境:
deactivate
複製代碼
首先在項目的虛擬環境生成requirements.txt,進入虛擬環境:
pip freeze>requirements.txt
複製代碼
服務器端進入虛擬環境,執行安裝
pip install -r requirements.txt
複製代碼
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
yum repolist all | grep mysql
sudo yum install mysql-community-server
複製代碼
啓動mysql服務
sudo service mysqld start
sudo systemctl start mysqld
sudo systemctl status mysqld
複製代碼
查看系統默認的root密碼
grep "temporary password" /var/log/mysqld.log
複製代碼
mysql -u root -p
輸入密碼後進入MySQL修改默認密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'(密碼改爲了root)
複製代碼
修改密碼會提示校驗不經過先執行:set global validate_password_policy=0;
PS:注意本地安裝Navicat鏈接遠程服務器的時候,會被拒絕這時須要在服務器端運行受權:
grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;
複製代碼
安裝依賴包:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel```
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar -zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure --prefix=/usr/local/nginxmake && make install
whereis nginx
/usr/local/nginx/sbin/nginx
複製代碼
修改NGINX配置文件:
cd /etc/nginx
vi nginx.conf
#location增長uwsgi的配置
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
複製代碼
虛擬環境下安裝uwsgi:pip install uwsgi
找一個文件夾下建立一個配置文件config.ini
[uwsgi]
# uwsgi 啓動時所使用的地址與端口
socket = 127.0.0.1:8080
# 指向網站目錄
chdir=/root/www/flask_idiom
# python 啓動程序文件
wsgi-file = manage.py
# python 程序內用以啓動的 application 變量名
callable = app
# 處理器數
processes = 4
# 線程數
threads = 2
buffer-size = 32768
#狀態檢測地址
stats = 127.0.0.1:9090
複製代碼
PS:socket地址和nginx處一致端口也要一致
啓動直接:uwsgi config.ini
項目地址:/root/www/flask_idiom
虛擬環境地址:/root/py36venv/venv
uwsgi配置地址:/root/www/flask_idiom
1)激活虛擬環境:[root@instance-9bor86dn venv]# source bin/activate
2)虛擬環境下進入到項目地址:初始化數據庫
export FALSK_APP=manage.py
flask db init
flask db migrate
flask db upgrade
複製代碼
3)運行爬蟲腳本初始化數據到數據庫
mysql -u root -p
#建立數據庫
create database bss_demo charset utf8;
複製代碼
4)運行項目:uwsgi config.ini
查看進程:ps -aux|grep uwsgi
kill -9 進程號中止服務
Tip:uwsgi是直接在前臺啓動的,當咱們的鏈接終端跟服務器斷開的時候uwsgi進程也被關閉了,因此咱們須要uwsgi在後臺運行。 後臺啓動項目用nohup啓動:不掛斷運行命令,用"&"可讓你的命令在後臺執行(注意:別漏了&號。)
nohup uwsgi config.ini &
複製代碼
參考:www.jianshu.com/p/ac6c84a2f…
Supervisor(supervisord.org/) 是用Python開發的一個client/server服務,是Linux/Unix系統下的一個進程管理工具。
它能夠很方便的監聽、啓動、中止、重啓一個或多個進程。用Supervisor管理的進程,當一個進程意外被殺死,supervisort監聽到進程死後,會自動將它從新拉起,很方便的作到進程自動恢復的功能,再也不須要本身寫shell腳原本控制。
pip install supervisor
#修改supervisor的配置文件
複製代碼