1.前言:
-
服務器
-
阿里雲的輕量應用服務器,系統是Centos 7.3.
-
使用的相關軟件是: powershell
1.如果要用軟件遠程連接到阿里雲的服務器,需要先在阿里雲的控制檯,爲服務器重置一個密碼。
2.遠程連接服務器,輸入密碼的時候是不會顯示的。
輸入完成後直接回車就行了。
3.最好了解一些最基本Linux的命令 例如
cd,pwd,kill,ls, mkdir...
2.安裝Python3.6
首先安裝依賴包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
然後根據自己需求下載不同版本的Python3,我下載的是Python3.6.2
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
如果速度不夠快,可以直接去官網下載,利用WinSCP等軟件傳到服務器上指定位置,我的存放目錄是/usr/local/python3,使用命令:
其他版本地址:https://www.python.org/ftp/python/
建立一個空文件夾:
mkdir /usr/local/python3
然後解壓壓縮包,進入該目錄,安裝Python3
tar -xvJf Python-3.6.2.tar.xz
cd Python-3.6.2
./configure --prefix=/usr/local/python3
make && make install
安裝完後會提示安裝好了pip等工具.
出現“successfully installed”等字樣。
到此爲止,Python3.6已經安裝好了,
由於centos7 中自帶的python的版本是python2.
而現在很多包只支持python3 ,所以我們要安裝虛擬環境,在虛擬環境中的python版本是3.6
然後我們要安裝virtualenv(python環境隔離工具)。
之後我們的flask的部署以及python包的下載都要在這個虛擬環境中進行!
每次重新遠程連接centos的時候都要記得進去虛擬環境後再操作。
3. 安裝virtualenv
pip install virtualenv
建立python3獨立環境
virtualenv -p /usr/local/python3/bin/python3.6 /py3env
進去python3獨立環境
source /py3Env/bin/activate
成功進入獨立環境後是這樣的。
最後 我們再輸入:
python -V
到此爲止 python3的安裝以及獨立環境的安裝完成了
4.搭建LNMP環境(Mysql,Nginx,Php)
1. 關閉防火牆和selinux
打開文件selinux
vim /etc/sysconfig/selinux
將文件中SELINUX=enforcing改爲disabled,然後執行”setenforce 0″不用重啓地關閉selinux。
SELINUX=disabled
關閉放火牆
systemctl stop firewalld.service
2.安裝軟件
2.1.MYSQL安裝
下載mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安裝mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安裝MYSQL
wget命令的下載地址可能會失效,自行去官網找要下載的包的地址
mysql官網:http://dev.mysql.com/
sudo chown -R root:root /var/lib/mysql
重啓服務:
systemctl restart mysql.service
登錄,並修改密碼:
mysql -u root
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > flush privileges;
mysql > exit;
123456就是mysql的密碼
這個密碼隨便設置,別忘記了就好,(忘記了挺麻煩的)
4.安裝git
可以選擇 github 或者Bitbucket,當然你也可以自己搭建 git服務器,但我覺得沒啥必要,我選擇Bitbucket,主要是因爲它私有庫免費
sudo yum install git
後續就跟我們本地開發沒什麼區別了,配置 ssh key,clone代碼,就不展開了,項目目錄建議放在 /home/www/ 下
5.上傳flask項目文件至服務器
拷貝本地代碼到遠程
scp -r 本地文件路徑 [email protected]:遠程保存路徑
note:單文件,如。.txt文件,直接路勁即可,去掉-r
6.安裝Python包
cd /usr/local/python3/bin
yum install mysql-devel gcc gcc-devel python-devel
pip install -r requirements.txt
note:生成requirements.txt文件
pip freeze > requirements.txt
7.調試Mysql腳本文件
在服務器上重新建數據庫,建表,會比較麻煩,而且有時候mysql在本地的電腦上已經存在部分數據。
所以比較快捷的方法就是在本地的數據庫上導出sql腳本文件,然後將這個腳本文件上傳到服務器,運行就好了。
運行之後,整個數據庫就能搬到服務器上了
我是使用Navicat for Mysql來導出sql文件
右鍵blog 轉儲sql文件
得到blog.sql文件後將文件上傳到服務器,如同上述步驟一樣。
假如blog.sql文件的位置是 /usr/local/python3/bin/blog.sql
首先進入mysql
mysql -u root -p
輸入密碼
在Centos下里面的是首先要新建一個和文件相同名字的數據庫。
mysql>create database blog;
然後輸入指令:
mysql> use blog;
mysql>source /usr/local/python3/bin/blog.sql;
mysql>exit;
然後就OK了。
5.安裝 gunicorn
pip install gunicorn
6.運行flask項目
gunicorn -w 3 -b x.x.x.x:8000 manage:app
注意把x.x.x.x替換成內網ip地址
大功告成啦!
外網想要訪問你的flask網站
只要通過公網的IP地址就行了
X.X.X.X:8000
如果要停止這個程序的運行
查看進程
ps -aux | grep gunicorn
然後kill掉這3個進程就好了
kill -9 進程號
如果重新連接服務器,記得要進入獨立環境後再操作!
source /py3Env/bin/activate