『壹』 如何在伺服器上部署python
使用pip或easy_install可以管理和安裝python的package包,實際上它們都是從pypi伺服器中搜索和下載package的。目前在pypi伺服器上,有超過三萬多個package,同時還允許我們將自己的代碼也上傳發布到伺服器上。這樣,世界上的所有人都能使用pip或easy_install來下載使用我們的代碼了。
具體步驟如下:
首先創建項目文件和setup文件。
目錄文件結構如下:
project/
simpletest/
__init__.py
test.py
setup.py
假設項目文件只有一個simpletest包,裡面有一個test.py文件。
創建的setup.py文件格式大致如下,其中,install_requires欄位可以列出依賴的包信息,用戶使用pip或easy_install安裝時會自動下載依賴的包。詳細的格式參考文檔。
from setuptools import setup, find_packages
setup(
name = 'simpletest',
version = '0.0.1',
keywords = ('simple', 'test'),
description = 'just a simple test',
license = 'MIT License',
install_requires = ['simplejson>=1.1'],
author = 'yjx',
author_email = '[email protected]',
packages = find_packages(),
platforms = 'any',
)
然後將代碼打包。
打包只需要執行python
setup.py xxx命令即可,其中xxx是打包格式的選項,如下:
# 以下所有生成文件將在當前路徑下 dist 目錄中
python setup.py bdist_egg # 生成easy_install支持的格式
python setup.py sdist # 生成pip支持的格式,下文以此為例
發布到pypi。
發布到pypi首先需要注冊一個賬號,然後進行如下兩步:
注冊package。輸入python setup.py register。
上傳文件。輸入python setup.py sdist upload。
安裝測試
上傳成功後,就可以使用pip來下載安裝了。
另外,pypi還有一個測試伺服器,可以在這個測試伺服器上做測試,測試的時候需要給命令指定額外的"-r"或"-i"選項,如python
setup.py register -r "",python
setup.py sdist upload -r "",pip
install -i "" simpletest。
發布到測試伺服器的時候,建議在linux或cygwin中發布,如果是在windows中,參考文檔,需要生成.pypirc文件
『貳』 阿里雲伺服器部署flask項目
當我們執行下面的hello.py時,使用的flask自帶的伺服器,完成了web服務的啟動。在生產環境中,flask自帶的伺服器,無法滿足性能要求,我們這里採用Gunicorn做wsgi容器,來部署flask程序。Gunicorn(綠色獨角獸)是一個Python WSGI的HTTP伺服器。從Ruby的獨角獸(Unicorn )項目移植。該Gunicorn伺服器與各種Web框架兼容,實現非常簡單,輕量級的資源消耗。Gunicorn直接用命令啟動,不需要編寫配置文件,相對uWSGI要容易很多。
區分幾個概念 :
WSGI:全稱是Web Server Gateway Interface(web伺服器網關介面),它是一種規范,它是web伺服器和web應用程序之間的介面。它的作用就像是橋梁,連接在web伺服器和web應用框架之間。
uwsgi:是一種傳輸協議,用於定義傳輸信息的類型。
uWSGI:是實現了uwsgi協議WSGI的web伺服器。
我們的部署方式: nginx + gunicorn + flask
web開發中,部署方式大致類似。簡單來說,前端代理使用Nginx主要是為了實現分流、轉發、負載均衡,以及分擔伺服器的壓力。Nginx部署簡單,內存消耗少,成本低。Nginx既可以做正向代理,也可以做反向代理。
正向代理 :請求經過代理伺服器從區域網發出,然後到達互聯網上的伺服器。
特點 :服務端並不知道真正的客戶端是誰。
反向代理 :請求從互聯網發出,先進入代理伺服器,再轉發給區域網內的伺服器。
特點 :客戶端並不知道真正的服務端是誰。
區別 :正向代理的對象是客戶端。反向代理的對象是服務端。
查看命令行選項 : 安裝gunicorn成功後,通過命令行的方式可以查看gunicorn的使用信息。
直接運行 :
指定進程和埠號 : -w: 表示進程(worker)。 -b:表示綁定ip地址和埠號(bind)。--access-logfile:表示指定log文件的路徑
作為守護進程後台運行 :
阿里雲伺服器默認安裝到 /user/sbin/ 目錄,進入目錄,啟動 ngnix:
Ubuntu 上配置 Nginx 也是很簡單,不要去改動默認的 nginx.conf 只需要將/etc/nginx/sites-available/default文件替換掉就可以了。
新建一個 default 文件,添加以下內容:
修改完成後重啟nginx即可。
Ubuntu 上配置 Nginx 另一種方法,cd 到 /etc/nginx/conf.d 文件夾,新建 xxx.conf 文件(xxx 可以是項目名,只要是 .conf 文件即可),寫入以下內容:
需要監聽 https 請求時,寫入以下內容:
『叄』 如何將APP部署在阿里雲伺服器上
1。遠程登錄第一次購買ECS後,會把該ECS伺服器的root賬號、密碼發送購買者的郵箱,然後購買者可以通過遠程登錄到ECS伺服器。
2。安裝web環境根據自己應用特點選擇安裝相關web伺服器tomcat或者jetty,阿里雲提供了一條龍安裝部署腳本,為開發者提供了更多的方便。
3。打包應用將web源碼下載到本地,使用命令mvnpackage打成war包。如果不是maven工程,可以用類似ant打成war包。
4。上傳war包Linux下面可以使用sftp上傳war包,上傳war包到指定目錄後進行解壓。
5。啟動web服務將tomcat或jetty服務啟動。
6。配置反向代理、綁定域名。
『肆』 如何將APP部署在阿里雲伺服器上
1。遠程登錄第一次購買ECS後,會把該ECS伺服器的root賬號、密碼發送購買者的郵箱,然後購買者可以通過遠程登錄到ECS伺服器。
2。安裝web環境根據自己應用特點選擇安裝相關web伺服器tomcat或者jetty,阿里雲提供了一條龍安裝部署腳本,為開發者提供了更多的方便。
3。打包應用將web源碼下載到本地,使用命令mvnpackage打成war包。如果不是maven工程,可以用類似ant打成war包。
4。上傳war包Linux下面可以使用sftp上傳war包,上傳war包到指定目錄後進行解壓。
5。啟動web服務將tomcat或jetty服務啟動。
6。配置反向代理、綁定域名。
『伍』 如何在阿里雲上部署django
前提條件
1. 為 Python 應用程序安裝 virtualenv 和 virtualenv wrapper,目的在於為 Python 項目創建獨立的環境。
● 安裝 pip
sudo apt-get install python-pip
● 安裝 virtualenv
sudo pip install virtualenv
● 創建目錄以存儲您的 virtualenv
mkdir ~/.virtualenvs
● 安裝 virtualenwrapper
sudo pip install virtualenvwrapper
● 將 WORKON_HOME 設置為您的 virtualenv 目錄
導出 WORKON_HOME=~/.virtualenvs
● 將 WORKON_HOME 設置為您的 virtualenv 目錄
導出 WORKON_HOME=~/.virtualenvs
● 將virtualenvwrapper.sh添加到.bashrc
將此行添加到 ~/.bashrc 的末尾,以便載入 virtualenvwrapper 命令。/usr/local/bin/virtualenvwrapper.sh
退出,然後重新打開您的 shell,或者使用.bashrc or source ~/.bashrc命令重新載入 .bashrc,然後一切准備就緒。
2. 安裝 git。
apt-get install git
3. 安裝 Nginx 作為 Web 伺服器,這樣您便可在其之後運行您的應用程序。
Sudo apt-get install nginx
啟動您的第一個 Linux 實例
接下來向您介紹使用阿里雲管理控制台運行 ECS 實例的相關步驟。
1. 登錄到您的帳戶,然後導航到「產品與服務」部分下的「雲伺服器」。單擊側邊欄菜單中的概覽。這會顯示運行中的實例列表。單擊購買實例從任意地域購買實例,或者繼續到下一步創建新實例。
2. 單擊側邊欄菜單中的實例。在實例列表中選擇所需地域,然後單擊右上方欄中的創建實例。
● 將其保存到應用程序目錄上的 uwsgi.ini。如需進一步了解如何編寫 ini 文件,請參閱Python/WSGI 應用程序快速入門。運行此命令以啟動您的應用程序。
uwsgi uwsgi.ini (您的 ini 文件)
12. 更改 nginx 配置文件以用於應用程序。
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name localhost; location /static/ { include uwsgi_params; alias /root/todoApp/public/; } location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgi.sock; } }
13. 重啟 nginx,隨後您的應用程序將啟動並在埠 80 上的 nginx 之後運行。
『陸』 python程序怎麼部署到雲伺服器
你需要登錄雲伺服器管理控制台,記錄被我打馬賽克位置的公網ip。
登錄伺服器
windows推薦下putty進行連接遠程伺服器,linux和macos不需要那麼麻煩,ssl就行了。
putty
在下圖的host name中輸入你的公網IP,點擊open。
putty界面
輸入密碼,看不見輸入不要慌,linux就是這樣保護安全的。
Paste_Image.png
登錄成功界面見下圖,然後想怎麼操作就怎麼操作了。
登陸成功界面
運行我的python文件
推薦FileZilla進行文件傳輸(不具體說明了),我上傳了我的flask網站項目
我的項目
記住伺服器同時有Python2和Python3,
python
運行的時候記得使用合適的版本,我用的是虛擬環境(自行網路如何創建虛擬環境)
在運行python之前先安裝一個screen,他可以將一個程序在後台運行
sudo apt-get install screen
運行python文件,成功後按下ctrl+A和ctrl+D可以隱藏。隱藏後可以輸入screen -r 恢復。
運行成功
『柒』 如何將自己的項目部署到阿里雲伺服器之【伺服器購買】
1.打開阿里雲 伺服器購買 地址。
2.肯定是要注冊登錄的(支付寶,釘釘都可以的)。這個過程就自己完成吧。
3.選擇如下就是我購買的伺服器(若要購買其他的看自己經濟實力了。)
4.這個配置什麼都是按照默認的就好了,按照提示一步一步往下走,直到付款成功。這里就不再依次截圖了。
5.付款成功後打開: 阿里雲控制台 就能看到你剛剛的訂單消費。
6.點擊已開通的雲產品----雲伺服器ECS,就可以查看你的這台伺服器詳情。
『捌』 如何在阿里雲上部署php後端
首先你需要買一個阿里雲伺服器,買的時候可以選擇操作系統(買完之後在控制台也可以更改操作系統)我使用的是CentOS,買完伺服器之後需要添加一個多語言環境,這個需要到雲市場搜索「多語言環境」並購買,有免費的,有收費的,看你需要哪一種,我用的免費的。然後進入控制台,找到雲伺服器ECS進入雲伺服器ECS,點擊實例,裡面有你購買的伺服器點擊更多,然後重置密碼,重置密碼後需要重啟伺服器,點擊管理,右上角有重啟選項,配置好之後返回,點擊遠程連接,這時他會給你一個管理終端密碼,記住這個密碼。
然後輸入管理終端密碼進入伺服器。進入時需要輸入登陸賬號(默認是root) 和密碼(剛剛重置的密碼)然後就連接成功。接下來需要下載Xftp和Xshell,Xftp是用於文件傳輸,也就是將你本地的php網頁傳輸到阿里雲伺服器上,Xshell是登錄到阿里雲伺服器。
打開Xshell,新建會話取名字,我的名稱是test,協議選SSH,主機是阿里雲伺服器的公網ip地址,在控制台的實例中可以看到。然後輸入用戶名(root)和密碼就可以用Xshell操作阿里雲伺服器了。之後如果你的多語言環境(上面有提到)配置好了,那麼打開瀏覽器輸入公網地址會有下面的頁面出現(如果被拒絕請關閉阿里雲伺服器的防火牆,輸入service iptables stop):點擊《CentOS Nginx PHP JAVA多語言鏡像使用手冊V1.6.pdf》,建議將手冊看一看,裡面有很多操作我就不一一說了。注意到有一個 phpMyAdmin ,這是阿里雲伺服器的資料庫,點擊進入可以用本地瀏覽器操作。phpMyAdmin的用戶名和密碼在使用手冊里有,自己去看下。登陸後將你本地的資料庫導入,你需要新建一個資料庫(跟本地資料庫相同),然後把從本地資料庫導出的SQL文件導入到阿里雲伺服器上,資料庫導入就成功了。 將你需要部署的網站部署到網站根目錄下,就可以訪問你的網站了。具體將Xshell打開,確保你也下載了Xftp,點擊新建文件傳輸。它會自動運行Xftp,左邊是你本地的目錄,右邊是你的阿里雲的目錄,找到你的php文件,將php文件拖入右邊網站根目錄下,就可以訪問網站了,注意是網站根目錄不是root。如果還有不懂的可以去後盾人看看相關的教材。希望對你有用。