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項目了。