Nginx+uwsgi+web.py配置

來源:互聯網
上載者:User

標籤:global   lob   down   thread   cat   icon   否則   dir   return   

遇坑的同鞋可以留意一下

作業系統:Centos7

準備檔案:
Python-2.7.13.tgz
:https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
nginx-1.12.0.tar.gz
:http://nginx.org/download/nginx-1.12.0.tar.gz
uwsgi-2.0.15.tar.gz
:https://projects.unbit.it/downloads/uwsgi-2.0.15.tar.gz


1、安裝Python
configure注意帶參數--with-zlib,否則uwsgi會報錯
tar -zxvf Python-2.7.13.tgz
cd Python-2.7.13
./configure --with-zlib
make
make install
make clean

python --version 可以查看版本
修改版本會導致一些小問題,可以嘗試修改#!/usr/bin/python為#!/usr/bin/python2.7

 

2、安裝配置nginx
安裝沒什麼特別的
tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure
make
make install
make clean

配置
如果沒有自訂安裝路徑
nginx.conf檔案預設路徑為/usr/local/nginx/conf/nginx.conf
如果用yum安裝配置路徑為/etc/nginx/nginx.conf
可以試著尋找
find /|grep nginx.conf
whereis nginx
修改nginx.conf 檔案,不必擔心改壞了,同目錄下還有個nginx.conf.default
如果80連接埠有其它用處,可以把listen 80;改成其它連接埠,避免衝突
內容不妨先仿著server再寫一個server與原來的server保持並列,
server {
listen 2001;
server_name [::]:2001 localhost;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
}
listen應該是監聽,那麼從外部存取應該訪問2001連接埠
uwsgi_pass 127.0.0.1:8080;這句與proxy_pass看起來很像,向內轉寄資料,並且需要在8080連接埠上有監聽,uwsgi會處理這事

啟動nginx
/usr/local/nginx/sbin/nginx
可以帶設定檔,預設用/usr/local/nginx/conf/nginx.conf

試著訪問一下x.x.x.x:80與x.x.x.x:2001


3、寫一個test.py
暫且放在/var/test/路徑下
#!/usr/bin/python2.7
# -*- coding:utf-8 -*-
# test.py
import web
urls = (
‘/‘, ‘index‘
)
class index:
def GET(self):
return ‘Hello, world!‘
app = web.application(urls,globals())
# app.run()
application = app.wsgifunc()
如果沒有web模組可以先pip install web.py
試試會不會報錯python code.py


4、安裝配置uwsgi
這裡有更詳細的說明
http://uwsgi-docs.readthedocs.io/en/latest/Install.html

tar -zxvf uwsgi-2.0.15.tar.gz
cd uwsgi-2.0.15
python uwsgiconfig.py --build

設定檔
支援多種格式,這裡用ini
為code.py寫一個設定檔test.uwsgi.ini
[uwsgi]
socket = 127.0.0.1:8080 #與nginx的uwsgi_pass對應
chdir = /var/test/
wsgi-file = test.py
processes = 4
threads = 2
stats = 127.0.0.1:2011
daemonize = ./uwsgi.log

啟動
./uwsgi --wsgi-file test.uwsgi.ini
如果正常的話
curl x.x.x.x:2001
將會返回Hello,world
否則可以到uwsgi.log中查看錯誤資訊

查看連接埠佔用
lsof -i:80

在記事本中寫了貼過來,格式有點問題,懶得改了

Nginx+uwsgi+web.py配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.