sky 发表于 2015-12-31 08:38:14

Nginx+uwsgi+django


jumpserver 2.0.0 是使用 django 1.6版本

一、安装平台

1、安装pcre

cd /home
mkdir -p /home/install/nginx && cd /home/install/nginx
tar -zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure
make && make install
cd ..

2、安装Nginx

tar -zxvf nginx-1.9.1.tar.gz
cd nginx-1.9.1
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-cc-opt='-O3' --with-cpu-opt=opteron
make && make install
cd ..

3、安装MySql-python

tar -zxvf MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3
python setup.py install
cd ..

4、先安装libxml,在安装uwsgi

yum -y install libxml*

tar -zxvf uwsgi-2.0.10.tar.gz
cd uwsgi-2.0.10
make
cp uwsgi /usr/bin

二、平台配置

2、Nginx相关配置

cd /usr/local/nginx/conf
vim django_uwsgi.conf

# Django project   
server {   
      listen80;   
      server_name 192.168.20.128;   
#       access_log /var/log/nginx/jumpserver.access.log main;
#       error_log /var/log/nginx/jumpserver.error.log;
      
      location / {   
            include   uwsgi_params;   
            uwsgi_pass   127.0.0.1:9000;
      }   
   
      location /static/ {   
             alias/opt/jumpserver/static;
             index index.html index,htm;
      }   
   
   
}


nginx添加uwsgi输出头支持和追加子配置文件django_uwsgi.conf

vim nginx.conf

http{   
........
include uwsgi_params;   
include django_uwsgi.conf;   
client_max_body_size 512M;
}

3、UWSGI配置

mkdir -p /home/uwsgi;cd /home/uwsgi
mkdir -p /opt/jumpserver/logs
echo "" > /opt/jumpserver/logs/django.log
vim uwsgi.xml

<uwsgi>   
<socket>127.0.0.1:9000</socket>   
<listen>80</listen>   
<master>true</master>   
<pidfile>/usr/local/nginx/uwsgi.pid</pidfile>   
<processes>8</processes>   
<pythonpath>/opt/jumpserver</pythonpath>   
<pythonpath>/opt/</pythonpath>   
<module>django_wsgi</module>   
<profiler>true</profiler>   
<memory-report>true</memory-report>   
<enable-threads>true</enable-threads>   
<logdate>true</logdate>   
<limit-as>6048</limit-as>   
<daemonize>/opt/jumpserver/logs/django.log</daemonize>   
</uwsgi>   

4、创建应用模块
cd /opt/jumpserver
vim django_wsgi.py

import os   
os.environ['DJANGO_SETTINGS_MODULE'] = 'jumpserver.settings'   
import django.core.handlers.wsgi   
application = django.core.handlers.wsgi.WSGIHandler()

6、启动服务

cd /lib/
ln -s libpcre.so.0.0.1 libpcre.so.1
/usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
/usr/local/nginx/sbin/nginx

7、查看进程
      
# ps -ef|grep uwsgi|grep -v grep
root      9590   10 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959195900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959295900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959395900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959495900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959595900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959695900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959795900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959895900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml

8、监听端口
#netstat -an|grep 9000
tcp      0      0 127.0.0.1:9000            0.0.0.0:*                   LISTEN

# netstat -lpnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp      0      0 0.0.0.0:389               0.0.0.0:*                   LISTEN      1100/slapd         
tcp      0      0 127.0.0.1:9000            0.0.0.0:*                   LISTEN      9590/uwsgi         
tcp      0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1255/mysqld         
tcp      0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      9600/nginx         
tcp      0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1118/sshd            
tcp      0      0 :::389                      :::*                        LISTEN      1100/slapd         
tcp      0      0 :::22                     :::*                        LISTEN      1118/sshd            
tcp      0      0 ::1:25                      :::*                        LISTEN      1347/master         
# lsof -i :80
COMMANDPID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   9600   root    6uIPv443367      0t0TCP *:http (LISTEN)
nginx   9601 nobody    3uIPv443635      0t0TCP 192.168.20.128:http->192.168.20.1:52147 (ESTABLISHED)
nginx   9601 nobody    6uIPv443367      0t0TCP *:http (LISTEN)

9、访问http://192.168.20.128/login/

相关安装包下载链接: http://pan.baidu.com/s/1dDsLfFj 密码: z0tj       

jumpserver 2.0.0 是使用 django 1.6版本

一、安装平台

1、安装pcre

cd /home
mkdir -p /home/install/nginx && cd /home/install/nginx
tar -zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure
make && make install
cd ..

2、安装Nginx

tar -zxvf nginx-1.9.1.tar.gz
cd nginx-1.9.1
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-cc-opt='-O3' --with-cpu-opt=opteron
make && make install
cd ..

3、安装MySql-python

tar -zxvf MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3
python setup.py install
cd ..

4、先安装libxml,在安装uwsgi

yum -y install libxml*

tar -zxvf uwsgi-2.0.10.tar.gz
cd uwsgi-2.0.10
make
cp uwsgi /usr/bin

二、平台配置

2、Nginx相关配置

cd /usr/local/nginx/conf
vim django_uwsgi.conf

# Django project   
server {   
      listen80;   
      server_name 192.168.20.128;   
#       access_log /var/log/nginx/jumpserver.access.log main;
#       error_log /var/log/nginx/jumpserver.error.log;
      
      location / {   
            include   uwsgi_params;   
            uwsgi_pass   127.0.0.1:9000;
      }   
   
      location /static/ {   
             alias/opt/jumpserver/static;
             index index.html index,htm;
      }   
   
   
}


nginx添加uwsgi输出头支持和追加子配置文件django_uwsgi.conf

vim nginx.conf

http{   
........
include uwsgi_params;   
include django_uwsgi.conf;   
client_max_body_size 512M;
}

3、UWSGI配置

mkdir -p /home/uwsgi;cd /home/uwsgi
mkdir -p /opt/jumpserver/logs
echo "" > /opt/jumpserver/logs/django.log
vim uwsgi.xml

<uwsgi>   
<socket>127.0.0.1:9000</socket>   
<listen>80</listen>   
<master>true</master>   
<pidfile>/usr/local/nginx/uwsgi.pid</pidfile>   
<processes>8</processes>   
<pythonpath>/opt/jumpserver</pythonpath>   
<pythonpath>/opt/</pythonpath>   
<module>django_wsgi</module>   
<profiler>true</profiler>   
<memory-report>true</memory-report>   
<enable-threads>true</enable-threads>   
<logdate>true</logdate>   
<limit-as>6048</limit-as>   
<daemonize>/opt/jumpserver/logs/django.log</daemonize>   
</uwsgi>   

4、创建应用模块
cd /opt/jumpserver
vim django_wsgi.py

import os   
os.environ['DJANGO_SETTINGS_MODULE'] = 'jumpserver.settings'   
import django.core.handlers.wsgi   
application = django.core.handlers.wsgi.WSGIHandler()

6、启动服务

cd /lib/
ln -s libpcre.so.0.0.1 libpcre.so.1
/usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
/usr/local/nginx/sbin/nginx

7、查看进程
      
# ps -ef|grep uwsgi|grep -v grep
root      9590   10 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959195900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959295900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959395900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959495900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959595900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959695900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959795900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      959895900 06:31 ?      00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml

8、监听端口
#netstat -an|grep 9000
tcp      0      0 127.0.0.1:9000            0.0.0.0:*                   LISTEN

# netstat -lpnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp      0      0 0.0.0.0:389               0.0.0.0:*                   LISTEN      1100/slapd         
tcp      0      0 127.0.0.1:9000            0.0.0.0:*                   LISTEN      9590/uwsgi         
tcp      0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1255/mysqld         
tcp      0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      9600/nginx         
tcp      0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1118/sshd            
tcp      0      0 :::389                      :::*                        LISTEN      1100/slapd         
tcp      0      0 :::22                     :::*                        LISTEN      1118/sshd            
tcp      0      0 ::1:25                      :::*                        LISTEN      1347/master         
# lsof -i :80
COMMANDPID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   9600   root    6uIPv443367      0t0TCP *:http (LISTEN)
nginx   9601 nobody    3uIPv443635      0t0TCP 192.168.20.128:http->192.168.20.1:52147 (ESTABLISHED)
nginx   9601 nobody    6uIPv443367      0t0TCP *:http (LISTEN)

9、访问http://192.168.20.128/login/

相关安装包下载链接: http://pan.baidu.com/s/1dDsLfFj 密码: z0tj                               




       





页: [1]
查看完整版本: Nginx+uwsgi+django