亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(shù)文章
文章詳情頁

如何把python項(xiàng)目部署到linux服務(wù)器

瀏覽:4日期:2022-07-13 09:31:40

最近用Python寫了個(gè)外掛,需要部署到Linux環(huán)境的服務(wù)器上,由于之前本地開發(fā)時(shí)使用virtualenv,使用這個(gè)虛擬環(huán)境有個(gè)好處是項(xiàng)目中依賴的庫不會(huì)是全局的,只在當(dāng)前項(xiàng)目的目錄下有效,因?yàn)槲沂荕ac系統(tǒng),virtualenv環(huán)境下的庫文件和linux上所需要的庫不通用,所以不能簡(jiǎn)單的將整個(gè)env拷貝到服務(wù)器運(yùn)行,需要做一些額外的工作。

一般每個(gè)不同的項(xiàng)目都會(huì)依賴各自的庫,有些庫的版本不一樣會(huì)引起沖突,為了解決這個(gè)問題,需要使用虛擬環(huán)境,Python可以在每個(gè)項(xiàng)目目錄下創(chuàng)建各自的虛擬環(huán)境,項(xiàng)目所依賴的包就在環(huán)境目錄下,這樣避免了庫版本的沖突,也方便相同操作系統(tǒng)間可以快速的拷貝項(xiàng)目運(yùn)行。

我使用的是Python3編寫的項(xiàng)目,CentOS 7的服務(wù)器上只有Python2,所以需要先安裝一下Python3的環(huán)境

第一步:安裝Python3環(huán)境1.首先安裝編譯環(huán)境(后續(xù)需要從python官網(wǎng)獲取Python3的源碼自己編譯python)

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

2.從官網(wǎng)下載python3的源碼

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

3.依次執(zhí)行 解壓>進(jìn)入解壓后的目錄>編譯安裝

tar -xvJf Python-3.6.2.tar.xzcd Python-3.6.2./configure prefix=/usr/local/python3make && make install

4.安裝完畢,創(chuàng)建軟連接

ln -s /usr/local/python3/bin/python3 /usr/bin/python# 執(zhí)行命令python -V #將會(huì)看到python3的版本# 執(zhí)行命令python2 -V #將會(huì)看到python2的版本

5.后續(xù)工作,由于執(zhí)行CentOS的yum命令需要使用自帶的python2的版本,所以需要做兩處修改

vim /usr/bin/yumvim /usr/libexec/urlgrabber-ext-down#將 這兩個(gè)文件的 #! /usr/bin/python修改為 #! /usr/bin/python2

第二步:將本地開發(fā)環(huán)境的依賴項(xiàng)目生成清單文件1.在本地的開發(fā)環(huán)境中,env下執(zhí)行:

pip3 freeze >requirements.txt

清單文件將會(huì)生成在當(dāng)前項(xiàng)目目錄下,內(nèi)容如下所示

certifi==2018.4.16chardet==3.0.4idna==2.7requests==2.19.1urllib3==1.23

將生成后的文件上傳到linux服務(wù)器

2.將Python項(xiàng)目上傳到服務(wù)器

第三步:在linux服務(wù)器上為項(xiàng)目創(chuàng)建虛擬環(huán)境,并安裝項(xiàng)目所需的依賴1.切換到pip3所在的目錄 /usr/local/python/bin,執(zhí)行以下命令

# 安裝虛擬環(huán)境pip3 install virtualenv

# 創(chuàng)建虛擬環(huán)境 ENVvirtualenv ENV

# 切換到虛擬環(huán)境所在的目錄cd ENV

# 啟用虛擬環(huán)境source ./bin/activate

# 安裝依賴清單里的庫pip3 install -r requirements.txt

# 列出當(dāng)前虛擬環(huán)境所安裝的依賴庫pip3 list

第四步:添加自定義系統(tǒng)服務(wù)(很重要)

# 這樣的命令在ssh終端退出后,python進(jìn)程也會(huì)被殺掉python xxx.py &

需要?jiǎng)?chuàng)建一個(gè)自定義的系統(tǒng)服務(wù),來保證python程序能夠在后臺(tái)運(yùn)行。

1.創(chuàng)建系統(tǒng)服務(wù)

vim /usr/lib/systemd/system/robot.service

內(nèi)容如下:

[Unit]Description=robotAfter=network.target[Service]Type=forkingExecStart=/usr/local/python3/bin/ENV/bin/python /usr/local/python3/bin/ENV/p3.py &PrivateTmp=true[Install]WantedBy=multi-user.target

ExecStart為服務(wù)啟動(dòng)時(shí)執(zhí)行的命令,不能用相對(duì)路徑, 一定要全路徑。這里也可以將命令寫到任意的.sh文件中,這里寫.sh文件的全路徑也是可以的。

2.啟用自定義系統(tǒng)服務(wù)

systemctl enable robot

3.啟動(dòng)服務(wù)

systemctl start robot

可以查看進(jìn)程,確認(rèn)一下服務(wù)是否啟動(dòng)

ps aux|grep robot

完畢!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美精品免费在线 | 日韩欧美国产一区二区三区 | 国产成人精品一区二三区 | 国产99精品一区二区三区免费 | 国产乱子伦真实china | 久久精品视频免费在线观看 | 正能量www正能量免费网站 | 久久精品国产第一区二区 | 在线观看一级毛片免费 | 欧美日韩人成在线观看 | 亚洲国产天堂久久综合网站 | 男人干女人逼 | 91影视做在线观看免费 | 国产一区二区亚洲精品 | 成人亚洲国产综合精品91 | 怡红院爽妇网 | 青草九九| 亚洲国产精品日韩在线 | 在线视频一二三区 | 国产人成午夜免费噼啪视频 | 欧美成人性色生活片免费在线观看 | 18视频免费网址在线观看 | jyzzjyzzjyzz日本在线观看 | 国产一区二区三区在线免费观看 | 伊人婷婷色香五月综合缴激情 | 日本一级特大毛片 | 亚洲高清视频在线 | 一区二区在线欧美日韩中文 | 日韩精品另类天天更新影院 | 在线免费自拍 | 九九99久久 | 欧美亚洲国产人成aaa | 在线视频区| 久久久婷 | 国产v综合v亚洲欧美大另类 | 欧美在线三级 | 国产精品久久久久久久人热 | 日韩毛片在线免费观看 | a性片| 免费国内精品久久久久影院 | 成年人免费小视频 |