[傻瓜式一步到位] 阿里雲服務器Centos上部署一個Flask項目



網絡上關於flask部署Centos的教程有挺多,不過也很雜亂。

在我第一次將flask上傳到centos服務器中遇到了不少問題,也費了挺大的勁。

在參考了一些教程,並綜合了幾個教程之后才將flask項目部署好。

所以我想把這一過程記錄詳細地下來,也方便零基礎新手們參考。

一般來說,將本文的全部過程執行下來,就可以成功地部署好flask了。

 


我入手的服務器是

阿里雲的輕量應用服務器,系統是Centos 7.3.

使用的相關軟件是

PuTTY(用於遠程連接到服務器),

PSFTP(用於將本地文件上傳至服務器),

Navicat for Mysql(數據庫可視化工具)。

 

有一些小細節。

1.如果要用軟件遠程連接到阿里雲的服務器,需要先在阿里雲的控制台,為服務器重置一個密碼。

2.遠程連接服務器,輸入密碼的時候是不會顯示的。

輸入完成后直接回車就行了。

 

3.最好了解一些最基本Linux的命令 例如 

cd,pwd,kill,ls, mkdir...


1.1安裝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

#其他版本地址:https://www.python.org/ftp/python/

如果速度不夠快,可以直接去官網下載,利用WinSCP等軟件傳到服務器上指定位置,我的存放目錄是/usr/local/python3,使用命令:

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的時候都要記得進去虛擬環境后再操作。

 

1.2 安裝virtualenv

 

pip  install virtualenv


建立python3獨立環境
virtualenv  -p /usr/local/python3/bin/python3.6 /py3env

進去python3獨立環境
source /py3env/bin/activate

 

  成功進入獨立環境后是這樣的。

 

 

最后 我們再輸入 

python -V

來驗證一下python的版本

  

到此為止 python3的安裝以及獨立環境的安裝完成了

 

參考鏈接:

1.https://blog.csdn.net/jon_me/article/details/49618619

2.http://www.cnblogs.com/mqxs/p/8692870.html  


 2.搭建LNMP環境(Mysql,Nginx,Php)

參考:https://blog.csdn.net/wszll_alex/article/details/76285324

我只執行了這個博主的文章中的

2.安裝軟件

5.啟動服務

就行了

有一個注意的地方,這個博主的文章中有一個錯誤的地方,

 

在安裝Mysql時,

mysql > update user set password=password(‘123456‘) where user=‘root‘;
這個語句是錯誤的
應該是
mysql > update user set password=password('123456') where user='root';

123456就是mysql的密碼
這個密碼隨便設置,別忘記了就好,(忘記了挺麻煩的)

 


 

 3.上傳flask項目文件至服務器

X.X.X.X處用服務器的公網ip地址代替
例如我的服務器的公網IP地址是XXX.XX.XX.XXX

open X.X.X.X

 然后輸入賬號密碼,就成功的連接到服務器上了。

 

假如我的flask項目在本地的地址為 C:\Users\73876\blog

我想將這個項目整個上傳至服務器上的 /usr/local/python3/bin/

在FSFTP中輸入

cd /usr/local/python3/bin/
("cd" 在服務器上的切換文件夾位置)
lcd C:\Users\73876\blog
(“lcd” 在本地電腦上的切換文件夾位置)

切換好位置后分別將manage.py

requirements.txt

以及app文件夾上傳

put manage.py
put requirements.txt
put -r app

然后我們進入服務器的文件夾查看這2個文件和1個文件夾是否上傳好

(有點凌亂,沒有事先建立一個文件夾來放flask項目)

 


 

4.安裝Python包

cd /usr/local/python3/bin

yum install mysql-devel gcc gcc-devel python-devel

pip install -r requirements.txt

至於如何生成requirements.txt請百度or谷歌


5.調試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了。

 

參考:

https://www.cnblogs.com/walblog/articles/7890442.html


 

6.安裝 gunicorn

 

pip install gunicorn

 

7.運行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個進程就好了

 

 

如果重新連接服務器,記得要進入獨立環境后再操作!

source /py3env/bin/activate


以上~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM