Nginx+MariaDB+Django环境搭建
1、安装Nginx服务器(此方法来自Nginx官网):
- sudo
add-apt-repository ppa:nginx/stable - sudo
apt-get update - sudo
apt-get install nginx
2、安装Django框架(Django采用版本为1.4版本):
- wget
http://www.djangoproject.com/m/releases/1.4/Django-1.4.tar.gz - tar
xzvf Django-1.4.tar.gz - cd
Django-1.4 - python
setup.py install
3、安装mysql-server、python-MySQLdb和uwsgi需要用到的组件:
- sudo
apt-get install mysql-server libxml2 libxml2-dev python-dev libpcre3 libpcre3-dev python-MySQLdb
4、安装uwsgi模块(确保版本为1.2,本人使用1.2.3尝试过参数-x无法使用:(
- wget
http://projects.unbit.it/downloads/uwsgi-1.2.tar.gz - tar
zxvf uwsgi-1.2.tar.gz - cd
uwsgi-1.2 - make
- sudo
cp uwsgi /usr/bin
5、配置nginx和uwsgi
(1)首先用Django建立一个项目,本人放在/home目录下:
- cd
/home - /usr/local/lib/python2.7/dist-packages/django/bin/django-admin.py
startproject MySite
(2)配置nginx:
修改目录/etc/nginx/sites-available下的default配置文件(可以在命令行里输入:sudo gedit /etc/nginx/sites-available/default进行编辑或使用vim),修改后内容如下:
- server
{ - listen
8080; ## listen for ipv4; this line is default and implied - listen
[::]:8080 default ipv6only=on; ## listen for ipv6 - server_name
localhost; - access_log
/var/log/nginx/localhost.access.log; - location
/{ - root
/home/MySite/MySite/; - uwsgi_pass
127.0.0.1:9000; - include
uwsgi_params; - access_log
off; - }
- location
^~/static/{ - alias
/home/MySite/templates/static/; - access_log
off; - }
- location
~.*.(gif|jpg|png|ico|jpeg|bmp|swf)$ { - expires
3d; - }
- location
~.*.(css|js)$ { - expires
12h; - }
- }
(注:root参数为settings.py所在目录,templates/static目录是本人所建,用于存放项目中资源文件,如image、js、css等)
(3)配置uwsgi:
在/home/MySite目录下新建log目录,在log目录下新建日志文件django.log,用于存放uwsgi的日志记录。回到/home/MySite目录下,新建文件wsgi.xml(文件名随便取),内容如下:
-
127.0.0.1:9000 -
200 -
true -
/var/run/nginx.pid -
8 -
/home/MySite/ -
wsgi -
true -
true -
true -
true -
6048 -
/home/MySite/log/django.log
6、运行服务器:
首先运行uwsgi,命令如下:
- uwsgi
-x /home/MySite/wsgi.xml
然后运行nginx服务器,命令如下:
- /etc/init.d/nginx
start
最后测试下,打开浏览器输入:http://localhost:8080,出现如下界面:
注:下面命令也许你会用的到:
- #重新加载nginx配置
- /etc/init.d/nginx
reload - #停止nginx服务器
- /etc/init.d/nginx
stop - #停止uwsgi模块
- killall
-9 uwsgi - #查看所有进程
- ps
-A
http://www.111cn.net/wy/96/62055.html解决base路径问题。