本人环境centos 6.x,是刚装上的系统。css
centos IP:192.168.1.1html
python:2.7.11python
django:1.9.5nginx
nginx:1.10.1django
进去服务器后 就是安装一大堆东西。centos
pip(下载django,uwsgi须要用pip下载)服务器
yum install wget -y wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a tar zxvf pip-8.1.2.tar.gz cd ./pip-8.1.2 wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar zxvf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 python setup.py build python setup.py install cd ../ python setup.py install
而后利用pip下载django和uwsgiapp
pip install django==1.9.5 pip install uwsgi
下载完成以后就能够把你所写的项目放到服务器上面。我这里距离是放在/project/socket
而后测试djangotcp
python /project/manage.py runserver 192.168.1.1:8000 #按需求更改IP
而后内网访问192.168.1.1:8000,若是能够正常访问则OK。
uwsgi
首先新建1个test.uwsgi.py文件在项目的根目录。即/project (与manage.py同目录)
文件内容以下:
1 #coding:utf-8 2 import os 3 import sys 4 reload(sys) 5 sys.setdefaultencoding('utf8') 6 7 from django.core.wsgi import get_wsgi_application 8 9 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings") #project为项目名,请按需求修改 10 11 application = get_wsgi_application()
uwsgi的话有2种开启方法
第一种是直接在命令行输入命令打开,如:
uwsgi --http 192.168.1.1:8000 --chdir /project --module test_uwsgi --chmod-socket=666
第二种就是添加ini或xml配置文件
新建文件test.ini在项目根目录
vi /project/test.ini [uwsgi] http = 192.157.1.1:8000 #监听IP和端口 chdir = /project #项目根目录 module = test_uwsgi #uwsgi文件,注意不用把后缀.py加上去 processes = 4 #开启4个进程(按需更改) threads = 2 #每一个进程开启4个线程 enable-threads = True #支持线程启动 daemonize = /var/log/uwsgi.log #后台启动,并把日志记录到指定文件 buffer-size = 21573 stats = 192.157.1.1:9000
示例中用的是ini配置文件,如需使用xml配置,请另行百度xml配置文件。更多的参数使用也能够自行百度添加上去
当ini配置文件写好后执行
uwsgi --ini /project/blog.ini #--ini 表示使用ini配置文件,xml文件就用--xml
作完这些以后就访问192.168.1.1:8000端口,如无心外的话是能够访问成功的,可是我搭建的时候是能够访问成功,可是访问不了css,js,图片等静态文件。
若是出现问题没法访问成功,请仔细阅读启动uwsgi以后弹出来的一系列信息,里面通常都包含有错误信息。按照提示修改便可。
由于网页能够访问成功并且静态文件原本就是打算放在nginx上让用户直接访问,因此我就继续把配置进行下去了。
安装nginx
由于途方便,因此我直接选择yum 安装。
wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm chmod +x nginx-release-centos-6-0.el6.ngx.noarch.rpm rpm -i nginx-release-centos-6-0.el6.ngx.noarch.rpm yum install nginx -y
如没法安装成功,就在百度上搜其余的安装方法把nginx装上。
安装成功以后,nginx的目录会在/etc/nginx 下
接下来就要修改nginx 的默认配置了。
查看默认配置文件
cat /etc/nginx/nginx.conf user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
这是个人默认配置文件,若是我没记错的话应该是没作过任何修改的。请确保里面有include /etc/nginx/conf.d/*.conf;这行
这行的意思就是包含了全部/etc/nginx/conf.d/下 后缀是.conf的配置文件
而后咱们在/etc/nginx/conf.d/目录下建立test.conf
vi /etc/nginx/conf.d/test.conf server{ listen 80 ; #监听80端口 access_log /var/log/nginx/access.log; #日志文件位置 error_log /var/log/nginx/error.log; location / {#访问/时 include uwsgi_params; #加载uwsgi模块 proxy_pass http://192.168.1.1:8000; #将链接转到该IP } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location /static/ { alias /project/static/; #访问/static时直接访问到/project/static } }
而后就大功告成了。当用户直接访问192.168.1.1:80 时 nginx 就会把链接转到192.168.1.1:8000上。
若是文章内有出错的地方,或者对文章有任何意见,可在评论下说明。