centos7.4 部署flask專案之 Nginx
centos7.4 部署flask專案之 Nginx
遠端部署flask專案nginx的基操
因為nginx公司有內部專用版本,所以這主要說一些我以前沒接觸到的東西。我尼瑪是全沒接觸到的好嗎、你有以前嗎、沒有。。。我就是小白一個
公司提供的Yum Config Info, yum源吧。第一次見:四個我看其他部落格都是一個,我也不知道啥意思,也不想知道啥意思因為肯定會忘,知道有這個東西就行,可以百度一下具體的意思。
[tools-1]
gpgcheck=0
enabled=1
name=tools
baseurl=http://123.com/prod/tools/centos7_64
[tools-2]
gpgcheck=0
enabled=1
name=tools
baseurl=http://123.com/prod/tools/noarch
[tuning-1]
gpgcheck=0
enabled=1
name=tuning
baseurl=http://123/prod/tuning/centos7_64
[tuning-2]
gpgcheck=0
enabled=1
name=tuning
baseurl=http://123.com/prod/tuning/noarch
nginx的基本常用使用命令
-
vi /etc/yum.repos.d/nginx.repo
由於yum源中沒有我們想要的nginx,那麼我們就需要建立一個“/etc/yum.repos.d/nginx.repo”的檔案,其實就是新增一個yum源。然後把公司內部的那個nginx yum config info 全部複製進去,複製一個好像也可以吧沒試過,我這麼懶肯定怕出麻煩全部copy進去,:wq(我去一下)儲存退出(記得root許可權啊) -
yum list |grep nginx
nginx.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-debug.x86_64 1:1.8.0-1.el7.ngx nginx nginx-debuginfo.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-module-geoip.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-module-geoip-debuginfo.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-module-image-filter.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-module-image-filter-debuginfo.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-module-njs.x86_64 1:1.12.2.0.1.14-1.el7_4.ngx nginx nginx-module-njs-debuginfo.x86_64 1:1.12.2.0.1.14-1.el7_4.ngx nginx nginx-module-perl.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-module-perl-debuginfo.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-module-xslt.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-module-xslt-debuginfo.x86_64 1:1.12.2-1.el7_4.ngx nginx nginx-nr-agent.noarch 2.0.0-12.el7.ngx nginx pcp-pmda-nginx.x86_64 3.11.8-7.el7 base
出現類似於這樣的顯示說明yum源配置成功啦
-
yum -y install nginx
顯示一大坨說明nginx壞境安裝成功了。 -
rpm -q nginx
不放心可以檢視一下是否安裝成功 -
vi /etc/nginx/nginx.conf
然後nginx的配置檔案瞭然後nginx的配置檔案了
#轉發多個gunicorn伺服器,那你肯定要告訴nginx有多個,所以你不僅要在localtion裡開啟 proxy_pass http://flask; 這程式碼中的flask就是下面這個flask(取得名字要一模一樣),然後nginx就可以分流、轉發、負載均衡了。。。
upstream flask {
server 127.0.0.1:5000;
server 127.0.0.1:5001;
}
server {
# 監聽80埠
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
#這裡的下劃線可以是預設的 _ ,也可以把_改成具體的ip,就像我遠端部署的伺服器ip 123.234.456.567。
server_name _;
location / {
# 請求轉發到gunicorn伺服器
proxy_pass http://127.0.0.1:5000;
# 請求轉發到多個gunicorn伺服器
# proxy_pass http://flask;
# 設定請求頭,並將頭資訊傳遞給伺服器端
proxy_set_header Host $host;
# 設定請求頭,傳遞原始請求ip給 gunicorn 伺服器
proxy_set_header X-Real-IP $remote_addr;
}
}
檔案裡其他的一些配置資訊可以檢視百度看一下,沒用到就不看了又不是美女。
- /usr/sbin/nginx
好像是which nginx檢視安裝的nginx位置,然後進入到nginx的路徑輸入nginx來啟動 - ps -ef | grep nginx
檢視nginx程序
小白你過來一下
我叫自己幹嘛emmmm…
tar相當於windows裡的.rar格式的壓縮包,可用tar -xzf命令和引數解壓;;而rpm包相當於windows裡的.exe程式,要用rpm - ivh來安裝,,前者是壓縮包,後者是安裝包。
linux目錄 /etc 配置檔案一般都放這裡。