Ubuntu12.4系统下配置Django+Nginx+uWSGI
2012-11-08 11:06
676 查看
基于性能等多方面考虑,搭建Nginx+uWSGI环境
环境:ubuntu12.04
安装版本:nginx1.3.4+python2.7.3(系统自带)+django1.4.1+uWSGI1.2.5
一.安装NGINX (使用官方PPA源安装最新版本)
注:先更新源,安装最新nginx版本1.3.4,参考http://nginx.org/en/download.html
1)修改源信息:
sudo vim /etc/apt/sources.list
增加下面2行(此版本为1.3.4开发版)
deb http://ppa.launchpad.net/nginx/development/ubuntu precise main
deb-src http://ppa.launchpad.net/nginx/development/ubuntu precise main
增加公钥
官方源(安装版本1.2.2稳定版):
deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx
2)并update一下。
sudo apt-get update
3)安装NGINX
sudo apt-get install nginx
安装uWSGI可能提示没有python.h文件,需要安装python-dev
sudo apt-get install python-dev
二.安装uWSGI
注意:安装uWSGI可能提示没有python.h文件,需要安装python-dev
sudo apt-get install python-dev
方法1(安装默认1.0.3版本)
apt-get install uwsgi uwsgi-plugin-python #ubuntu12.04下默认安装uWSGI1.0.3,会自带安装上python-pulign
方法2(编译安装1.2.5版本)
wget -c http://projects.unbit.it/downloads/uwsgi-1.2.5.tar.gz
tar zxvf uwsgi-1.2.5.tar.gz
cd uwsgi-1.2.5
make
sudo cp uwsgi /usr/bin/
三.安装django
wget -c https://www.djangoproject.com/download/1.4.1/tarball
tar zxvf Django-1.4.1.tar.gz
cd Django-1.4.1
sudo python setup.py install #需要root权限创建文件
默认路径在: /usr/local/lib/python2.7/dist-pachages/Django-1.4.1
此处使用sqlite3数据库,如果使用mysql或其他数据库,需要安装python-mysql或其他相应包
环境配置:
配置django
mkdir /home/wwwdjango/
cd /home/wwwdjango/
django-admin.py startproject mysite
tree mysite #查看django自动生成的文件目录结构如下:
mysite/
|-- manage.py
`-- mysite
|--
__init__.py
|-- settings.py #这是主要的django配置文件
|-- urls.py
`-- wsgi.py
修改settings.py
配置数据库DATABASES中配置sqlite3
'ENGINE': 'django.db.backends.sqlite3',
'NAME': '/home/wwwdjango/mysite/mysite.db', #注意使用sqlite此文件及所在目录需要有读写权限
STATIC_ROOT = '/home/wwwdjango/mysite/mysite/static/' #为了处理admin的样式问题
INSTALLED_APPS 中取消django.contrib.admin的注释
修改urls.py
取消下列行的注释
from django.contrib import admin
admin.autodiscover()
url(r'^admin/', include(admin.site.urls)),
生成数据表,处理admin样式
cd /home/wwwdjango/mysite
sudo ./manage.py syncdb #首次使用按提示创建数据库用户
sudo ./manage.py collectstatic #确保settings.py中设置的STATIC_ROOT目录存在,有写权限,nginx有读权限
配置nginx
cd /etc/nginx/sites-available/
sudo vi mysite.com.conf
添加下面内容
#django project conf
server {
listen 80;
server_name mysite.com;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080; #注意此处与uwsgi配置的socket地址一致
}
location /static/ {
alias /home/wwwdjango/mysite/mysite/static/admin/;
#root /home/wwwdjango/mysite/mysite/static/;
access_log off;
}
location /admin {
uwsgi_pass 127.0.0.1:8080;
include uwsgi_params;
}
}
cd ../sites-enable
sudo ln -s /etc/nginx/sites-avilable/mysite.com.conf
mysite.com.conf
配置uwsgi
cd /home/wwwdjango/
sudo vi uwsgi.xml 或者 sudo vi uwsgi.ini #参考https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/uwsgi/
添加如下ini格式:
[uwsgi]
chdir=/home/wwwdjango/mysite
module=mysite.wsgi
env DJANGO_SETTINGS_MODULE=mysite.settings
master=True
pidfile=/tmp/project-master.pid
socket=127.0.0.1:8080
porcesses=5
vacuum=True
max-requests=5000
daemonize=/var/log/uwsgi/mysite.log
xml格式
启动uwsgi
uwsgi --ini uwsgi.ini 关闭uwsgi: killall
-9 uwsgi
uwsgi -x uwsgi.xml
启动nginx
sudo /etc/init.d/nginx restart 加载配置 sudo
/etc/init.d/nginx
reload
修改hosts
sudo vi /etc/hosts
添加
127.0.0.1 mysite.com
此时可以通过mysite.com访问,会提示page not found,访问mysite.com/admin应该可以登录
创建自动启用sh<或添加到开机自启动>
sudo vi /etc/rc.local
exit 0前添加
uwsgi -x /home/wwwdjango/uwsgi.xml
此处可参考 http://blog.liuts.com/post/216/ 改写 这是centos系统的配置
环境:ubuntu12.04
安装版本:nginx1.3.4+python2.7.3(系统自带)+django1.4.1+uWSGI1.2.5
一.安装NGINX (使用官方PPA源安装最新版本)
注:先更新源,安装最新nginx版本1.3.4,参考http://nginx.org/en/download.html
1)修改源信息:
sudo vim /etc/apt/sources.list
增加下面2行(此版本为1.3.4开发版)
deb http://ppa.launchpad.net/nginx/development/ubuntu precise main
deb-src http://ppa.launchpad.net/nginx/development/ubuntu precise main
增加公钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C #注意没有此行,会安装默认版本
官方源(安装版本1.2.2稳定版):
deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx
2)并update一下。
sudo apt-get update
3)安装NGINX
sudo apt-get install nginx
安装uWSGI可能提示没有python.h文件,需要安装python-dev
sudo apt-get install python-dev
二.安装uWSGI
注意:安装uWSGI可能提示没有python.h文件,需要安装python-dev
sudo apt-get install python-dev
方法1(安装默认1.0.3版本)
apt-get install uwsgi uwsgi-plugin-python #ubuntu12.04下默认安装uWSGI1.0.3,会自带安装上python-pulign
方法2(编译安装1.2.5版本)
wget -c http://projects.unbit.it/downloads/uwsgi-1.2.5.tar.gz
tar zxvf uwsgi-1.2.5.tar.gz
cd uwsgi-1.2.5
make
sudo cp uwsgi /usr/bin/
三.安装django
wget -c https://www.djangoproject.com/download/1.4.1/tarball
tar zxvf Django-1.4.1.tar.gz
cd Django-1.4.1
sudo python setup.py install #需要root权限创建文件
默认路径在: /usr/local/lib/python2.7/dist-pachages/Django-1.4.1
此处使用sqlite3数据库,如果使用mysql或其他数据库,需要安装python-mysql或其他相应包
环境配置:
配置django
mkdir /home/wwwdjango/
cd /home/wwwdjango/
django-admin.py startproject mysite
tree mysite #查看django自动生成的文件目录结构如下:
mysite/
|-- manage.py
`-- mysite
|--
__init__.py
|-- settings.py #这是主要的django配置文件
|-- urls.py
`-- wsgi.py
修改settings.py
配置数据库DATABASES中配置sqlite3
'ENGINE': 'django.db.backends.sqlite3',
'NAME': '/home/wwwdjango/mysite/mysite.db', #注意使用sqlite此文件及所在目录需要有读写权限
STATIC_ROOT = '/home/wwwdjango/mysite/mysite/static/' #为了处理admin的样式问题
INSTALLED_APPS 中取消django.contrib.admin的注释
修改urls.py
取消下列行的注释
from django.contrib import admin
admin.autodiscover()
url(r'^admin/', include(admin.site.urls)),
生成数据表,处理admin样式
cd /home/wwwdjango/mysite
sudo ./manage.py syncdb #首次使用按提示创建数据库用户
sudo ./manage.py collectstatic #确保settings.py中设置的STATIC_ROOT目录存在,有写权限,nginx有读权限
配置nginx
cd /etc/nginx/sites-available/
sudo vi mysite.com.conf
添加下面内容
#django project conf
server {
listen 80;
server_name mysite.com;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080; #注意此处与uwsgi配置的socket地址一致
}
location /static/ {
alias /home/wwwdjango/mysite/mysite/static/admin/;
#root /home/wwwdjango/mysite/mysite/static/;
access_log off;
}
location /admin {
uwsgi_pass 127.0.0.1:8080;
include uwsgi_params;
}
}
cd ../sites-enable
sudo ln -s /etc/nginx/sites-avilable/mysite.com.conf
mysite.com.conf
配置uwsgi
cd /home/wwwdjango/
sudo vi uwsgi.xml 或者 sudo vi uwsgi.ini #参考https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/uwsgi/
添加如下ini格式:
[uwsgi]
chdir=/home/wwwdjango/mysite
module=mysite.wsgi
env DJANGO_SETTINGS_MODULE=mysite.settings
master=True
pidfile=/tmp/project-master.pid
socket=127.0.0.1:8080
porcesses=5
vacuum=True
max-requests=5000
daemonize=/var/log/uwsgi/mysite.log
xml格式
<uwsgi> <socket>127.0.0.1:8080</socket> <listen>80</listen> <master>true</master> <pythonpath>/home/wwwdjango/mysite</pythonpath> <module>django_uwsgi</module> <wsgi-file>/home/wwwdjango/mysite/mysite/wsgi.py</wsgi-file> <processes>8</processes> <logdate>true</logdate> <daemonize>/home/wwwdjango/uwsgi.log</daemonize> <plugins>python</plugins> </uwsgi>
启动uwsgi
uwsgi --ini uwsgi.ini 关闭uwsgi: killall
-9 uwsgi
uwsgi -x uwsgi.xml
启动nginx
sudo /etc/init.d/nginx restart 加载配置 sudo
/etc/init.d/nginx
reload
修改hosts
sudo vi /etc/hosts
添加
127.0.0.1 mysite.com
此时可以通过mysite.com访问,会提示page not found,访问mysite.com/admin应该可以登录
创建自动启用sh<或添加到开机自启动>
sudo vi /etc/rc.local
exit 0前添加
uwsgi -x /home/wwwdjango/uwsgi.xml
此处可参考 http://blog.liuts.com/post/216/ 改写 这是centos系统的配置
相关文章推荐
- nginx1.4.7+uwsgi+django1.9.2项目部署,liunx系统为ubuntu14.0.4。
- Ubuntu 上配置Python3 + django + Nginx + uwsgi
- Ubuntu Server 14.04.2 LTS 配置 Nginx + uwsgi + Django
- Django Ubuntu部署:nginx + uWSGI配置
- Django+Nginx+uwsgi+Ubuntu配置
- 基于nginx和uWSGI在Ubuntu系统上部署Django项目
- ubuntu下uwsgi + nginx +django 修改默认配置部署的注意点
- 基于Ubuntu16.04服务器的Nginx+Django+Uwsgi配置
- Ubuntu linux nginx + uwsgi + django 配置
- ubuntu下配置nginx+uwsgi+django
- nginx1.4.7+uwsgi+django1.9.2项目部署,liunx系统为ubuntu14.0.4
- Django + nginx + uwsgi配置和环境搭建(ubuntu)
- 腾讯云Ubuntu 16.04 配置Django+Uwsgi+Nginx
- django + uwsgi + nginx + ubuntu
- 基于ubuntu(阿里云)的nginx+uwsgi+django的服务器搭建(到处是坑)
- 在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
- centos7.4下配置django+uwsgi+nginx
- Nginx + uwsgi + Django 简单上线配置
- Nginx+uwsgi+django配置小结
- Django uWSGI+Nginx配置