Mac下Django+gunicorn+Nginx服務器部署

最近在學習python服務器開發,需要將寫好的程序部署到服務器上,查找了一番,最終決定用Nginx服務器,但是配置的時候遇到了一些問題,折騰了一天,最終配置成功,現將配置方法紀錄下來,我用的是MAC電腦,步驟如下:

一、安裝brew:
啓動命令行,運行如下代碼:

uby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

不出意外,brew會安裝成功,接下來安裝nginx。

二、安裝nginx:
在命令行依次執行下列代碼,安裝nginx:

brew search nginx
brew install nginx

執行上述代碼後,系統會自動安裝nginx,當系統提示:

Summary
��  /usr/local/Cellar/nginx/1.4.2: 7 files, 920K, built in 2.1 minutes

說明已經安裝完畢,可以在命令行輸入nginx -v來查看nginx版本,如果版本顯示正常,說明已經安裝成功。

安裝成功後,輸入nginx命令啓動nginx服務器,在瀏覽器輸入localhost:8080可以看到如下界面:

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

nginx安裝在/usr/local/Cellar/nginx 中,配置文件在/usr/local/etc/nginx中。

常用命令:

nginx -s reload配置文件後重啓

nginx -t 查看配置文件是否正確

nginx -V 查看版本,以及配置文件地址

nginx -v 查看版本

nginx -c filename 指定配置文件

nginx -h 幫助

nginx -s [reload\reopen\stop\quit]

關閉

  查詢nginx主進程號

  ps -ef | grep nginx

  從容停止 kill -QUIT 主進程號

  快速停止 kill -TERM 主進程號

  強制停止 kill -9 nginx

  若nginx.conf配置了pid文件路徑,如果沒有,則在logs目錄下

  kill -信號類型 ‘/usr/local/nginx/logs/nginx.pid’

homebrew 常用的指令:

brew search mysql : 搜索具體的程序包

brew install mysql : 安裝具體的程序包

brew info mysql : 查看具體程序的信息

brew uninstall mysql : 卸載具體的應用(這裏只是用mysql 作個例子

三、安裝gunicorn

在命令行輸入

pip install gunicorn

安裝gunicorn

四、配置nginx

在第二步說明的/usr/local/etc/nginx文件夾中找到nginx.conf文件,修改其中的內容:

server {
        listen       8000;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
                proxy_pass http://127.0.0.1:8000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    location /static/ {
                root /Users/tianweitao/PycharmProjects/weihu; #Django項目所在目錄
        }

五、配置Django

在你的Django應用的setting.py文件的INSTALLED_APPS中添加gunicorn應用如下所示:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'httpservers',
    'gunicorn'
)

將上述步驟都配置完之後,運行Django應用,就可以通過nginx服務器訪問了。

主要參考:

http://blog.csdn.net/cssmhyl/article/details/9717189
http://www.cnblogs.com/flysun/p/4017668.html
http://www.cnblogs.com/jianxie/p/3990377.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章