设为首页 收藏本站
查看: 2207|回复: 0

[经验分享] Nginx+uwsgi+django

[复制链接]
累计签到:77 天
连续签到:1 天
发表于 2015-12-31 08:38:14 | 显示全部楼层 |阅读模式
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 {   
        listen  80;   
        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、查看进程
      
[iyunv@Master-jumpserver uwsgi]# ps -ef|grep uwsgi|grep -v grep
root      9590     1  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9591  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9592  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9593  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9594  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9595  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9596  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9597  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9598  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml

8、监听端口
[iyunv@Master-jumpserver uwsgi]#  netstat -an|grep 9000
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN  

[iyunv@Master-jumpserver uwsgi]# 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         
[iyunv@Master-jumpserver uwsgi]# lsof -i :80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   9600   root    6u  IPv4  43367      0t0  TCP *:http (LISTEN)
nginx   9601 nobody    3u  IPv4  43635      0t0  TCP 192.168.20.128:http->192.168.20.1:52147 (ESTABLISHED)
nginx   9601 nobody    6u  IPv4  43367      0t0  TCP *: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 {   
        listen  80;   
        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、查看进程
      
[iyunv@Master-jumpserver uwsgi]# ps -ef|grep uwsgi|grep -v grep
root      9590     1  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9591  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9592  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9593  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9594  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9595  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9596  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9597  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml
root      9598  9590  0 06:31 ?        00:00:00 /usr/bin/uwsgi -x /home/uwsgi/uwsgi.xml

8、监听端口
[iyunv@Master-jumpserver uwsgi]#  netstat -an|grep 9000
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN  

[iyunv@Master-jumpserver uwsgi]# 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         
[iyunv@Master-jumpserver uwsgi]# lsof -i :80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   9600   root    6u  IPv4  43367      0t0  TCP *:http (LISTEN)
nginx   9601 nobody    3u  IPv4  43635      0t0  TCP 192.168.20.128:http->192.168.20.1:52147 (ESTABLISHED)
nginx   9601 nobody    6u  IPv4  43367      0t0  TCP *:http (LISTEN)

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

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


       




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-158652-1-1.html 上篇帖子: ubuntu-client-ldap 下篇帖子: 老广分享jumpserver结构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表