Centos6.5 安裝nginx, django服務器環境

OS環境: Centos6.5python

安裝nginx:mysql

    首先下載nginx1.5.0.tar.gz
nginx

    tar -zxf nginx.1.5.0.tar.gz 解壓nginx安裝包。
c++

    在安裝nginx以前,安裝一些依賴包:sql

    yum -y install pcre-devel
shell

    yum -y install zlib-devel
數據庫

    若是安裝出現以下錯誤,是缺乏編譯環境。以下方式解決。
django

       ./configure: error: C compiler cc is not found 
       #yum install gcc gcc-c++ ncurses-devel perl 
       安裝cmake,從http://www.cmake.org下載源碼並編譯安裝 
       #yum -y install make gcc gcc-c++ ncurses-devel 
       #yum -y install zlib zlib-devel 
centos

    而後在nginx解壓出來的文件夾中:
api

    ./configure --prefix=/usr/local/nginx

    make

    make install

    配置文件爲:/usr/local/nginx/conf/nginx.conf

    如下是三個簡單的nginx命令。

    ./usr/local/nginx/sbin/nginx -t 測試配置文件。

    ./usr/local/nginx/sbin/nginx 啓動

    ./usr/local/nginx/sbin/nginx -s reload 重啓

    centos6.5默認有python環境爲2.6

安裝django:

    下載Django-1.5.1.tar.gz

    tar -zxf Django-1.5.1.tar.gz

    cd Django-1.5.1

    python setup.py install

    python 進入python命令行

    import django導入django

    django.VERSION查看django版本

安裝mysql:

    yum install mysql

    yum install mysql-server

    /etc/init.d/mysqld start 啓動服務

    mysqladmin -uroot -p password mypassword 修改數據庫密碼

安裝python的mysql支持:

    yum -y install MySQL-python

    若是但願外界ip訪問數據庫,以下配置:

    進入mysql後:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'tapindata' WITH GRANT OPTION;

    grant命令說明:

        mysql> grant 權限1,權限2,…權限n on 數據庫名稱.表名稱 to 用戶名@用戶地址 identified by ‘鏈接口令’;

        權限1,權限2,…權限n表明                  select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個權限。
        當權限1,權限2,…權限n被all privileges或者all代替,表示賦予用戶所有權限。
        當數據庫名稱.表名稱被*.*代替,表示賦予用戶操做服務器上全部數據庫全部表的權限。
        用戶地址能夠是localhost,也能夠是ip地址、機器名字、域名。也能夠用’%'表示從任何地址鏈接。
        ‘鏈接口令’不能爲空,不然建立失敗。

    flush privileges;

安裝memcached:

    yum -y install memcached

    memcached -h 驗證是否已安裝

    vi /etc/sysconfig/memcached 修改配置

    service memcached start 開啓配置

    yum -y install python-memcached 安裝python 的memcached的支持

安裝uwsgi:

tar -zxvf uwsgi-1.0.4.tar.gz

        cd uwsgi-1.0.4

       python setup.py build

       yum -y -install libxml2-devel 

       make

       mv uwsgi /usr/bin/

    若是make提示Python.h No such file or directory的錯誤,那就須要安裝python的開發包,用yum install python-devel安裝後便可


    安裝完uwsgi後,咱們就能夠去生成一個django工程了。

    生成的方法不說了。

    生成後,在django工程的根目錄須要創建一個django_wsgi.py的文件,文件內容以下:

import os
import django.core.handlers.wsgi
os.environ['DJANGO_SETTINGS_MODULE'] ='mysite.settings'
application = django.core.handlers.wsgi.WSGIHandler()

    在第三行要指向本身的django項目的settings配置文件 ,

    接下來咱們就去配置nginx

    在nginx的安裝目錄下的cong/nginx.conf中,增長以下一段配置信息:

server{
        listen       80;
        server_name  localhost;
        location / {
                #root /home/data/CarHome;
                include uwsgi_params;
                uwsgi_pass unix:///tmp/uwsgi.sock;
                uwsgi_param UWSGI_CHDIR /home/data/mysite;
                uwsgi_param UWSGI_SCRIPT django_wsgi;
        }
        location /static {
                  root /home/data/mysite;
          }
    }

    server_name填想要訪問指定的域名,listent爲監聽的端口號,location中,咱們用include uwsgi_params給uwsgi傳參,後面的uwsgi_pass爲uwsgi監聽的sock, 後面兩個uwsgi_param爲參數,這裏,這裏指定兩個參數,django項目根目錄,和django_wsgi.py

    location /static將以/static訪問的指向到/home/data/mysite/目錄下,作靜態文件的分發。

    而後進入nginx安裝目錄下的sbin,執行nginx -t 測試配置文件,-s reload重啓,


    而後啓動uwsgi的監聽,使用用戶www去啓動uwsgi.

/usr/bin/uwsgi -s /tmp/uwsgi.sock --uid www -C -M -p 2 -t 30 -R 10000 -d /tmp/uwsgi.log --pidfile /tmp/uwsgi.pid --vhost

    最後,咱們就能夠經過nginx中配置的域名去訪問django項目了。

相關文章
相關標籤/搜索