环境:CentOS Linux release 7.2.1511 (Core)
python2.7
1.安装nginx依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2.下载nginx压缩包(版本自行修改)
wget http://nginx.org/download/nginx-1.8.0.tar.gz
3.解压
tar -zxvf nginx-1.8.0.tar.gz
4.进入目录编译安装
cd nginx-1.8.0
./configure
make && make install
等待安装完成即可,一般默认路径在/usr/local/nginx-1.8.0
安装gunicorn
pip install gunicorn
进入项目目录,编写uwsgi.ini文件
[uwsgi]
#使用nginx连接时使用
socket=127.0.0.1:9099
#直接做web服务器使用
#http=127.0.0.1:9091
#项目目录
chdir=/root/mgad3/mgad/mgad_data
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=/mgad_data/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
我这里用的是gunicorn起服务,nginx转发到gunicorn中,所以在manage.py的目录里用:
1.后台执行,输出在log中,-w:开启4个并发量,-D:后台执行,-t:超时时间(秒),上传大文件时记得带上,否则会因为超时,gunicorn自动kill掉进程。
gunicorn --bind 172.x.x.x:8090 -w=4 -D --access-logfile ./logs/log mgad_data.wsgi:application
2.直接执行,输出在控制台
gunicorn --bind 172.x.x.x:8090 -w=4 --access-logfile ./logs/log mgad_data.wsgi:application
配置nginx
在/usr/local/nginx-1.8.0/conf/nginx.cong中
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8008; # 监听端口,随意改
server_name crawler.taobao1.com; # 向外开放的域名,可以是www.xxx.com或者172.x.x.x的类型(ip)
location / {
proxy_pass http://172.x.x.x:8090; # 将所有的内容转发到gunicorn所开放的ip和端口
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
如果你想通过www.baotao1.com访问自己的接口,在linux中,修改host映射文件就行,只需两步
1.vim /etc/host 然后添加一行:
www.taobao1.com 172.x.x.x(你的ip)
2.vim /etc/hosts
172.x.x.x www.taobao1.com
启动nginx
cd /usr/local/nginx-1.8.0
sudo /sbin/nginx
停止nginx
sudo /sbin/nginx -s stop
然后就可以通过这种方式访问了
curl 'http://www.taobao1.com:8090/index' -X POST -d '{"user_type":2,"use_mq":"true","kol_id":"58119178989","platform":22,"add_user":1, "level": "P7"}'
如果想在公网上访问你的专属域名,是要单独购买的,这个只能在局域网中使用