目錄
- 前言
- 1-下載python3.8壓縮包
- 2-解壓縮安裝包
- 3-安裝依賴工具
- 4-安裝python3.8
- 5-修改python2軟鏈接
- 6-修改yum配置文件
- 7-配置python
- 8-檢驗(yàn)配置結(jié)果
- 9-上傳并部署Django項(xiàng)目
前言
大家想一想,如果要在一臺(tái)電腦上運(yùn)行python程序需要些什么工具呢?
顯而易見(jiàn),我們需要在電腦上安裝python應(yīng)用,配置python環(huán)境等等。那么如果我們需要在云服務(wù)器上運(yùn)行python程序的話要怎么做呢?相信大家已經(jīng)想到了,就是照葫蘆畫(huà)瓢,在云服務(wù)器上做相同的工作就好了。
1-下載python3.8壓縮包
1.1 操作系統(tǒng)
centos7.9 64位
1.2 下載python3.8 安裝包
使用如下命令下載python 3.8:
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
如果提示-bash: wget: 未找到命令,需要先使用yum安裝wget,命令如下:
安裝完成后在secure fx可以查看解壓包的位置
2-解壓縮安裝包
2.1 通過(guò)以下命令解壓縮下載的文件:
2.2 輸入cd / 然后再輸入ls 可得到如下結(jié)果:
說(shuō)明已經(jīng)解壓成功
3-安裝依賴工具
因?yàn)榫幾g Python 源代碼需要依賴于很多工具,所以得先準(zhǔn)備一下,依次執(zhí)行以下命令:
yum update -y
yum groupinstall -y ‘Development Tools'
yum install -y gcc openssl-devel bzip2-devel libffi-devel
4-安裝python3.8
4.1 進(jìn)入解壓包解壓后的文件位置:
在centos中輸入:cd /Python-3.8.0
4.2 配置安裝路徑:
執(zhí)行如下命令:
1 ./configure prefix=/usr/local/python3 --enable-optimizations
–enable-optimizations是優(yōu)化選項(xiàng)(LTO,PGO 等)加上這個(gè) flag 編譯后,性能有 10% 左右的優(yōu)化,但是這會(huì)明顯的增加編譯時(shí)間。
溫馨提示:–enable-optimizations 該語(yǔ)句可能導(dǎo)致之后安裝報(bào)錯(cuò):Could not import runpy module 個(gè)人建議最好將其刪除
原因是:在低版本的gcc版本中帶有–enable-optimizations參數(shù)時(shí)會(huì)出現(xiàn)上面問(wèn)題
gcc 8.1.0修復(fù)此問(wèn)題
4.3 開(kāi)始安裝:
./configure命令執(zhí)行完畢之后創(chuàng)建一個(gè)文件 Makefile, 供下面的make命令使用,執(zhí)行make install之后就會(huì)把程序安裝到我們指定的文件夾中去。
2 make make install
如果出現(xiàn)了Could not import runpy module 先檢查有沒(méi)有按我上面說(shuō)的刪除–enable-optimizations,再者就是應(yīng)該是安裝依賴工具的時(shí)候出錯(cuò)了
如果出現(xiàn)如下錯(cuò)誤,則接著看下面的解決方法
Error Downloading Packages
文章轉(zhuǎn)自https://www.cnblogs.com/twobrother/p/11577636.html
解決方法如下:
yum出現(xiàn)Error downloading packages錯(cuò)誤
錯(cuò)誤表現(xiàn)方式:
yum可以list,可以clean cache,但是無(wú)法安裝,錯(cuò)誤提示:
Downloading packages:
Error downloading packages:
libevent-devel-2.0.21-4.el7.x86_64: [Errno 5] [Errno 2] 沒(méi)有那個(gè)文件或目錄
libevent-2.0.21-4.el7.x86_64: [Errno 5] [Errno 2] 沒(méi)有那個(gè)文件或目錄
錯(cuò)誤出現(xiàn)原因:
安裝python3修改軟鏈接,沒(méi)有完全修改導(dǎo)致
[root@duke ~]# mv /usr/bin/python /usr/bin/python2.6.6
[root@duke ~]# ln -s /usr/local/bin/python3.6 /usr/bin/python
[root@duke ~]# vi /usr/bin/yum
將文件頭部的
改成
改過(guò)之后發(fā)現(xiàn)yum可以list,可以clean cache,但是無(wú)法安裝。
錯(cuò)誤解決:
把下載器中的python也修改對(duì)應(yīng)的版本
[root@duke ~]# vi /usr/libexec/urlgrabber-ext-down
將文件頭部的
改成
5-修改python2軟鏈接
軟鏈接其實(shí)就相當(dāng)于我們常用的電腦主機(jī)的快捷方式
阿里云服務(wù)器的centos中會(huì)自帶一個(gè)python2.7.5,而默認(rèn)的python路徑也是python2.7.5,如果要用到我們剛才安裝的pyhton3.8的話就要修改軟鏈接。
我們首先查看一下 Python 可執(zhí)行文件的位置:
which python
然后切換到相應(yīng)的目錄:
cd /usr/bin
查看相關(guān)的python信息:
ls -la python*
發(fā)現(xiàn)當(dāng)我們執(zhí)行python 命令時(shí),系統(tǒng)指向python 2,然后python 2指向python 2.7,所以系統(tǒng)默認(rèn)使用的python版本仍然是python 2。
首先將python 改名為 python.bak
再次查看python相關(guān)信息:
6-修改yum配置文件
進(jìn)入目錄/usr/bin,查看有關(guān)yum的文件:
ls -la yum*
使用vi 進(jìn)入文本編輯器(如果有多個(gè)yum配置文件,都要進(jìn)去修改):
vi yum
點(diǎn)擊i進(jìn)入編輯模式之后將#!/usr/bin/python 改為#!/usr/bin/python2,按ESC退出編輯模式,輸入:wq!保存修改退出。
同樣進(jìn)入文件 /usr/libexec/urlgrabber-ext-down 做同樣修改。
7-配置python
3、pip3軟鏈接
7.1配置python3軟鏈接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python
ls -la python*
配置后結(jié)果
7.2 配置pip3軟鏈接
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip
ls -la pip*
因?yàn)閜ython3中是自帶pip3的,如果沒(méi)有的話執(zhí)行如下步驟就行了
1.安裝源
yum -y install epel-release
2.安裝pip
3.對(duì)安裝好的pip進(jìn)行升級(jí)
pip install --upgrade pip (注意是兩個(gè)短橫線~~)
如果你打完代碼后,再次查看軟鏈接情況發(fā)現(xiàn)它在閃爍的話,說(shuō)明沒(méi)有鏈接成功。
這個(gè)時(shí)候大部分原因是鏈接的路徑有問(wèn)題,不清楚centos文件路徑的同學(xué)可以下載securefx來(lái)直觀地了解文件位置,其中要?jiǎng)?chuàng)建軟鏈接要遵守這個(gè)規(guī)則 ln -s [源文件] [軟鏈接文件]
8-檢驗(yàn)配置結(jié)果
在服務(wù)器中輸入 python --version和pip -V
結(jié)果如下:
到了這一步的話,你的python環(huán)境已經(jīng)在服務(wù)器上搭建完成了,接下來(lái)就是將我們的django項(xiàng)目上傳到服務(wù)器中。
9-上傳并部署Django項(xiàng)目
9.1 將Django打包上傳到SecureCRT
先吧自己的Django項(xiàng)目整成壓縮包,然后在 SecureFx中新建一個(gè)名為Sever的文件夾,將壓縮包丟進(jìn)去,就像這樣
依次執(zhí)行下列語(yǔ)句獲取rar解壓方法
wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
tar -xf rarlinux-x64-5.3.0.tar.gz
cd rar
make
rar x test.rar //解壓 test.rar 到當(dāng)前目錄
為了后面方便更改代碼,這里我們辛苦一點(diǎn)在Pycharm中同步部署我們的Django項(xiàng)目
步驟如下:
1、在“工具(Tools)”菜單中找到“部署(Deployment)”選項(xiàng),選擇子菜單中的“配置(Configuration…)”選項(xiàng)。
2、在部署(Deployment)窗口中點(diǎn)擊加號(hào)(+)按鈕,設(shè)置服務(wù)器配置的名稱和類型(選擇SFTP)
3、在配置界面的“連接(Connection)”設(shè)置中,分別添加:服務(wù)器IP地址、端口(默認(rèn)22)、服務(wù)器中存放源碼的目錄以及登錄服務(wù)器的賬號(hào)名稱與密碼
提示:完成配置之后,點(diǎn)擊“測(cè)試SFTP連接(Test SFTP connection…)”按鈕進(jìn)行服務(wù)器連接測(cè)試,保證配置正確
4、然后,切換到“映射(Mappings)”的設(shè)置,選擇本地源碼所在目錄以及服務(wù)器上傳源碼的目錄。
5、在選項(xiàng)設(shè)置中,我們選擇自動(dòng)將修改內(nèi)容上傳服務(wù)器的操作,這里我們可以選擇“明確的保存動(dòng)作(On explicit save action)”。也就是說(shuō)當(dāng)我們按下快捷鍵“Ctrl+S”時(shí),系統(tǒng)會(huì)自動(dòng)上傳修改內(nèi)容到服務(wù)器。
6、好了,到這一步你的Pycharm就已經(jīng)和云服務(wù)器連接起來(lái)了,你可以在本地修改代碼以及在終端運(yùn)行代碼后會(huì)自動(dòng)同步至云服務(wù)器上。
好了,經(jīng)過(guò)上面這么繁瑣的操作后,你已經(jīng)完成了80%了,加油,勝利快到了。
9.2 安裝Django
安裝好了后進(jìn)入python,輸入下圖語(yǔ)句可以查看django的版本
9.3 安裝uwsgi
安裝成功后輸入uwsgi是這個(gè)樣子
給uwsgi建立軟鏈接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
9.4 配置Django項(xiàng)目
本博主使用到的項(xiàng)目已經(jīng)是連接到Mysql中并且建立好數(shù)據(jù)庫(kù)的了,不懂怎么連接與配置mysql的同學(xué)可以新開(kāi)一個(gè)網(wǎng)頁(yè)去搜一下,在這里我就不做過(guò)多的說(shuō)明了。
9.4.1數(shù)據(jù)庫(kù)遷移
這個(gè)步驟博主遇到的錯(cuò)誤非常之多,希望你們可以一次遷移成功吧。
首先要到我們的服務(wù)器存放的路徑下,我的服務(wù)器存放的路徑是 cd /Server/GroupProject
然后依次運(yùn)行
python manage.py makemigrations
python manage.py migrate
因?yàn)槲抑坝龅降膯?wèn)題太多,我現(xiàn)在也記不太起來(lái)了,主要是1054 1366這幾個(gè)錯(cuò)誤,遇到了也不要慌CSDN都能找到解決方法,總得來(lái)說(shuō)報(bào)錯(cuò)一般是你在一開(kāi)始建立數(shù)據(jù)庫(kù)的時(shí)候沒(méi)有設(shè)置中文,而你卻在建表的時(shí)候設(shè)置了中文,這個(gè)時(shí)候如果你的Django里邊有中文字段的話就會(huì)報(bào)錯(cuò),所以說(shuō)如果你想要讓數(shù)據(jù)庫(kù)全中文支持的話,最好重新建一個(gè)數(shù)據(jù)庫(kù)的同時(shí)設(shè)置中文,這樣就基本不會(huì)有問(wèn)題了。
附上建庫(kù)同步設(shè)置中文方法:
mysql:CREATE DATABASE 數(shù)據(jù)庫(kù)名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
再不行的話試試這樣:
vi /etc/my.cnf
文本添加內(nèi)容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server=utf8_general_ci
character-set-server=utf8
init-connect=‘SET NAMES utf8'
另外,不要忘記在pycharm主項(xiàng)目中的setting中添加這個(gè),目的是所有ip都可以訪問(wèn)。
9.4.2 安裝nginx
安裝解壓包 wget http://nginx.org/download/nginx-1.13.7.tar.gz
解壓 tar -zxvf nginx-1.13.7.tar.gz
依次執(zhí)行以下命令:
cd nginx-1.13.7
./configure
make
make install
注意:nginx一般默認(rèn)安裝好的路徑為/usr/local/nginx
配置nginx
vim /etc/nginx/nginx.conf
添加以下內(nèi)容
9.5 運(yùn)行Django項(xiàng)目
好了到了這個(gè)時(shí)候你已經(jīng)可以通過(guò)ip來(lái)打開(kāi)我們的Django項(xiàng)目了。
博主的實(shí)例是一個(gè)Django自帶的admin后臺(tái),可以方便直觀地檢測(cè)我們項(xiàng)目是否正常運(yùn)行。
首先進(jìn)入項(xiàng)目路徑 cd /Server/GroupDjango
然后輸入 python manage.py runserver 0.0.0.0:8000
注意??! 這里的python指的是之前我們軟鏈接指向的路徑,我這里是用python指向python3.8這個(gè)應(yīng)用的,如果報(bào)錯(cuò)的話,可以回去看看軟鏈接設(shè)置的對(duì)不對(duì)。
最后,成功運(yùn)行后的結(jié)果如下
我們可以通過(guò)http:// 服務(wù)器ip地址:8000/admin/來(lái)訪問(wèn)admin后臺(tái)
如果還需要
到此這篇關(guān)于pycharm部署django項(xiàng)目到云服務(wù)器的詳細(xì)流程的文章就介紹到這了,更多相關(guān)pycharm部署django到云服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 使用PyCharm配合部署Python的Django框架的配置紀(jì)實(shí)
- 利用Pycharm + Django搭建一個(gè)簡(jiǎn)單Python Web項(xiàng)目的步驟
- 社區(qū)版pycharm創(chuàng)建django項(xiàng)目的方法(pycharm的newproject左側(cè)沒(méi)有項(xiàng)目選項(xiàng))
- Pycharm+django2.2+python3.6+MySQL實(shí)現(xiàn)簡(jiǎn)單的考試報(bào)名系統(tǒng)
- 使用PyCharm創(chuàng)建Django項(xiàng)目及基本配置詳解
- 部署Django到阿里云服務(wù)器教程示例
- 基于騰訊云服務(wù)器部署微信小程序后臺(tái)服務(wù)(Python+Django)