zoukankan      html  css  js  c++  java
  • uWSGI+Nginx安装、配置

    1、关闭SELINUX:

    [root@PYTHON27 /]# vim /etc/selinux/config
    
    将SELINUX=enforcing修改为SELINUX=disabled
    

    2、关闭防火墙:

    [root@PYTHON27 /]# service iptables stop
    [root@PYTHON27 /]# chkconfig iptables off
    

    3、安装EPEL源:

    [root@PYTHON27 /]# yum -y install epel-release
    [root@PYTHON27 /]# yum clean all
    [root@PYTHON27 /]# yum makecache
    

    4、安装系统工具:

    [root@PYTHON27 /]# yum -y install vim wget telnet
    

    5、安装编译支持包:

    [root@PYTHON27 /]# yum -y install gcc gcc-c++ automake autoconf
    

    6、安装Nginx支持包:

    [root@PYTHON27 /]# yum -y install zlib zlib-devel pcre pcre-devel openssl openssl-devel
    

    7、安装uwsgi及组件:

    [root@PYTHON27 /]# yum -y install uwsgi uwsgi-devel uwsgi-plugin-python
    

    8、查看uwsgi版本:

    [root@PYTHON27 /]# uwsgi --version
    2.0.14
    

    9、启动uwsgi项目:

    [root@PYTHON27 /]# uwsgi --ini /usr/local/src/python-test/python-test.ini
    

    10、解压nginx安装包:

    [root@PYTHON27 /]# tar -xzvf /usr/local/src/nginx-1.10.1.tar.gz -C /usr/local/src/
    

    11、编译、安装:

    [root@PYTHON27 /]# cd /usr/local/src/nginx-1.10.1
    [root@PYTHON27 nginx-1.10.1]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module
    [root@PYTHON27 nginx-1.10.1]# make -j 2
    [root@PYTHON27 nginx-1.10.1]# make install
    

    12、修改Nginx配置文件:

    [root@PYTHON27 /]# vim /usr/local/nginx/conf/nginx.conf
    
    将下边内容:
            location / {
                root   html;
                index  index.html index.htm;
            }
            
    替换为:
    
            location / {
                    include uwsgi_params;
                    uwsgi_read_timeout 3600;
                    uwsgi_pass 127.0.0.1:9090;
            }
    

    13、启动nginx服务:

    [root@PYTHON27 /]# /usr/local/nginx/sbin/nginx -t
    [root@PYTHON27 /]# /usr/local/nginx/sbin/nginx
    

    14、测试:

    [root@PYTHON27 /]# curl http://192.168.75.150/
    Hello World
    

    源码:

    python-test.py:

    def application(env, start_response):
        start_response('200 OK', [('Content-Type','text/html')])
        return ["Hello World"]
    

    python-test.ini:

    [uwsgi]
    socket = 127.0.0.1:9090
    wsgi-file = /usr/local/src/python-test/python-test.py
    plugins = python
    chdir = /usr/local/src/python-test
    processes = 2
    threads = 2
    post-buffering = 8192
    buffer-size = 65535
    socket-timeout = 10
    stats = 127.0.0.1:9191
    # callable = python-test
    uid = uwsgi
    gid = uwsgi
    master = true
    protocol = uwsgi
    buffer-size = 8192
    pidfile = /var/run/uwsgi9090.pid
    # daemonize = /var/log/uwsgi9090.log
    

    注释: socket = 127.0.0.1:9090  ##启动端口9090的服务,需用nginx代理,可以对外提供服务。

        http-socket = 127.0.0.1:9090  ##启动端口9090的服务,可以直接对外提供服务。

    python-test.py:通过WEB页面执行服务器上的脚本:

    import os
    
    def application(env, start_response):
        os.chdir('/usr/local/src/python-test')
        retcode = os.system('sh dir.sh')
        if retcode == 0:
            ret = 'success!'
        else:
            ret = 'failure!'
            start_response('200 OK', [('Content-Type','text/html')])
        return [ret]
    

    [END]



  • 相关阅读:
    ios外包公司——技术分享:IOS开发教程
    ios外派—本公司长年提供ios程序员外派业务(北京动点软件,可签合同)
    mysql
    mysql
    mysql
    mysql
    mysql
    一些学习网站
    java 之 枚举(Enum)
    .net core
  • 原文地址:https://www.cnblogs.com/configure/p/6401695.html
Copyright © 2011-2022 走看看