Centos7系統,Nginx+uwsgi+flask框架部署web應用
1. 簡單介紹
起初我是嘗試在Win*dows *Server 2012上面部署的,因為我的學習和開發環境大多是在win上進行的,我嘗試了iis和apache但都因為繁瑣的操作放棄了。而在linux上,nginx+uwsgi是最常見的部署方式之一。整個部署過程大體分為三部分。
* nginx,uwsgi安裝。
* 上傳app檔案。
* nginx,uwsgi配置。
2. nginx,uwsgi安裝
nginx安裝過程可以參照https://jesskarl.github.io/2017/05/13/nginx/。
uwsgi安裝過程就相對簡單多了,只要運用python的pip就可以了。但是安裝之前需要安裝c編譯器和python開發標頭檔案。
如果你已經成功安裝過nginx了,那麼c編譯器就不需要再次安裝了。
sudo yum install python-devel
安裝uwsgi。
pip install uwsgi
uwsgi官方文件地址:http://uwsgi-docs.readthedocs.io/en/latest/
3.上傳檔案到伺服器
在windows系統下,安裝WinSCP,或者百度其他類似軟體。需要注意的一點,伺服器一定要開啟相應的埠,一般的傳輸協議是22,21埠。
我的專案根目錄為:
~/www/website1/
建議像我這樣的新手查詢一下關於centos的目錄結構的介紹,和基本命令,基本的知識還是要了解的。
我的伺服器是用的騰訊雲主機,所以在系統的防火牆開啟埠的情況下,還要建立相應的安全組。具體方法可以參考伺服器提供商的幫助文件。
安裝虛擬環境,安裝各種程式依賴,過程類似開發環境搭建。
4.nginx,uwsgi配置
開啟nginx配置檔案nginx.conf,這個檔案預設位置為安裝目錄下的conf目錄中。只需要修改server塊下的location塊內容就可以,若需要其他的配置,日誌,多應用等可以參考nginx官方文件,或者相應書籍。
location塊配置如下。
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
}
接下來在專案根目錄下新建uwsgi.ini檔案用以啟動uwsgi。
[uwsgi]
master = true
socket = 127.0 .0.1:3031
virtualenv = ./venv
wsgi-file = manage.py
callable = app
processes = 4
threads = 2
stats = 127.0.0.1:919
socket選項一定要與nginx,conf中相同。
如果用了虛擬環境,將virtualenv選項設定你的虛擬環境位置。沒用虛擬環境則不加次條。
wsgi-file,執行專案開啟的第一個檔案。
callable ,manage.py中你建立的app的名字。
程序和執行緒根據硬體效能設定相應數值。
把工作目錄定位到nginx安裝目錄下,執行nginx:
./sbin/nginx
把工作目錄定位到專案根目錄下,
uwsgi uwsgi.ini
如果沒有報錯,那麼在瀏覽器中輸入你的伺服器ip或者解析到該ip的域名即可訪問你的應用了。
5.可能遇到的問題
- 配置完成後,連線失敗。
可能伺服器沒有開放80號埠,這個是預設埠。開啟方法如下
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令作用:
–zone :作用域
–add-port : 新增的埠,格式為 埠/通訊協議
–permanent : 永久生效,重啟後不失效。
(21,22埠開啟方法相同) - nginx配置修改後一定要重啟服務。
- 如果需要開機啟動,可以使用Supervisor。
相關推薦
Centos7系統,Nginx+uwsgi+flask框架部署web應用
1. 簡單介紹 起初我是嘗試在Win*dows *Server 2012上面部署的,因為我的學習和開發環境大多是在win上進行的,我嘗試了iis和apache但都因為繁瑣的操作放棄了。而在linux上,nginx+uwsgi是最常見的部署方式之一。整個
Nginx+Uwsgi+Flask在阿裏雲服務器上的部署
warn down 安裝過程 oot 上傳文件 open 移動 gin ica 先說明一下,我用的系統是centos6.8,個人感覺centos的系統配置還是挺簡單的。。。不過存在很多防火墻的問題,下邊一步步來說。。。。 centos上應該是默認已經安裝了Python2.6
Nginx+uwsgi+flask部署
系統環境:Centos6.7、Python2.7、pip2.7(安裝方式參考前一篇) 安裝 安裝flask pip2.7 install flask 安裝uwsgi #安裝 pip2.7 install uwsgi #驗證安裝 u
五步教你實現使用Nginx+uWSGI+Django方法部署Django程序
設置 wsgi alias admin 生效 server static 出現 mar 新建一個XML文件: djangochina_socket.xml,將它放在/data/www/org_management目錄下: Nginx采用8077端口與uWSGI通訊,請確保此
Python3+django+nginx+uwsgi使用場景部署
backup tex gen rust 進程 靜態文件 lang 分享圖片 /etc/ 1 環境介紹和準備Python3+django+nginx+uwsgi使用場景部署 當我們寫完一套完整的網站功能,我們需要實時在生產環境上線,並需要容納高並發的訪問請求。所以我們需要
nginx uwsgi flask相關配置
1.3 線程 keep icon ges tar tro pki 獲取 一、安裝Nginx 在 /home/download下下載壓縮包 wget https://nginx.org/download/nginx-1.12.2.tar.gz 解壓縮 tar zxvf ngi
雲效(阿裏雲)流水線 + nginx + uWsgi + flask + python3 基礎環境搭建 --備忘
3.6 分享圖片 fff urn art conf con write sqlite 一、開發環境搭建 1、安裝python3 yum -y groupinstall "Development tools" yum -y install zlib-devel
centos7+python3.6+nginx+uwsgi+django2的搭建筆記
生命周期 主動 ron 大量 pidfile 技術分享 順序 multi 筆記 公司需上線一套python編寫的代碼,需要給搭建一套環境 ,本次采用centos7+python3.6+nginx+uwsgi2+django2+mysql
用戶登陸系統,采用Flask,SQLite,hmac編寫
varchar for har range ima new char name from # -*- coding: utf-8 -*-"""Created on Sat Jun 30 10:56:19 2018@author: lewisliu"""from flask
Ubuntu+Nginx+uWSGI+Flask應用
gen art csdn 完成 進程 logs apt-get virtual style Ubuntu 18.04,Nginx 1.14.0,uWSGI 2.0.17.1,Flask 1.0.2,Python 3.6.5, 多日未更新博客,就是在忙著把自己的Flask
Nginx+uwsgi+celery+supervisor部署Django前後端分離項目
and alt mkdir 動靜 系統盤 keepaliv pre tde 修改 本實驗實現了負載均衡、反向代理、動靜分離,還實現了根據客戶端設備user-agent進行轉發,也就是移動端和PC端訪問的頁面不一樣。 1. 項目部署邏輯圖 2. 環境準備 服務器:6臺VM操
記錄一下在ubuntu 上配置nginx+uwsgi+flask出現的一點問題.
main thread acc sta pre cati 記錄 location crt 還沒有解決 現在的情況很奇怪, 配置uwsgi通過啟動腳本啟動後,無法正常運行,相同代碼在centos上完全沒有問題,同樣用的是venv的環境, ubuntu,貼上nginx配置和
ubuntu16.04下nginx+uwsgi+django伺服器部署
1.python開發環境 安裝pyenv,python,virtualenv,需要使用python虛擬環境env365 2.安裝配置nginx 安裝 sudo apt-get install nginx 配置 cd /etc/nginx/sites-available cp
flask框架部署(Windows+Aapche+mod_wsgi)
參考 [1]Windows下Flask+Apache+mod_wsgi部署Flask專案 閱讀此文,部署環境新增模組時出錯。解決辦法,參考[2] [2]Apache 載入mod_wsgi.so出錯,什麼原因? 詳細步驟 Step1:下載Apache並解壓 地址:https:/
centos7和win10雙盤雙系統,打不開centos7系統,老是停留在黑屏轉圈位置,解決辦法
1.重啟系統時候在如下頁面選擇你要進的核心,按 E ,grub編輯頁面。 http://img.my.csdn.net/uploads/201709/03/1504438099_7830.png 2.找到linux16那行 在LANG=zh_CN.UTF-8 空格 加上
Centos7系統,oracle12c自啟動設定
--- 能夠實現開機啟動Oracle--- 重啟、關閉伺服器的時候能先關閉--- Oracle可以用service命令啟、停Oracle1. 修改Oracle系統配置檔案:/etc/oratab //oratab格式:SID:ORACLE_HOME:AUTO# vi /et
Docker構建nginx+uwsgi+flask映象(一)
前言 筆者之前是從事Java方面的工作,自從18年5月左右來到新的公司,接觸到Python,被其簡單優雅的語法風格深深吸引,同時,新公司也幫助筆者開啟Docker世界的大門,讓筆者體會到“一次打包,到處執行”的快感。出於對Docker和Python的喜愛,寫下這篇文章。 基礎工作 這裡,筆者會先教大家用
Docker構建nginx+uwsgi+flask映象(二)
Dockerfile搭建環境並打包應用 在上一章Docker構建nginx+uwsgi+flask映象(一)的學習中,我們學會用命令列一句一句在alpine環境中搭建nginx+uwsgi+flask服務,但這體現不了Docker為我們帶來的便利,而本章,我們將通過Dockerfile來製作基礎映象和打包應
springboot-整合vue,nginx前後端分離部署
springboot-整合vue,nginx前後端分離部署 文章目錄 springboot-整合vue,nginx前後端分離部署 1.nginx 1.1nginx的安裝 1.2nginx的基本配置 1.3n
使用Nginx+uWSGI+Django方法部署Django程式
Django的部署可以有很多方式,採用nginx+uwsgi的方式是其中比較常見的一種方式。 在這種方式中,我們的通常做法是,將nginx作為伺服器最前端,它將接收WEB的所有請求,統一管理請求。nginx把所有靜態請求自己來處理(這是NGINX的強項)。然後,NGIN