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]

uWSGI+Nginx安装、配置的更多相关文章

  1. Nginx 安装 配置 使用

    Nginx 安装 配置 使用 基本的HTTP服务器特性 处理静态文件,索引文件以及自动索引:打开文件描述符缓存(缓存元数据和文件描述符,下一次可以直接从内存找到数据或者文件的位置): 使用缓存加速反向 ...

  2. Nginx安装配置(转)

    Nginx 安装配置 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/ ...

  3. Nginx安装配置PHP(FastCGI)环境的教程

    这篇是Nginx安装配置PHP(FastCGI)环境的教程.Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用. 一.什么是 FastCGI F ...

  4. Nginx安装配置与HelloWorld

    <深入理解Nginx>阅读与实践(一):Nginx安装配置与HelloWorld 最近在读陶辉的<深入理解Nginx:模块开发与架构解析>,一是想跟着大牛练练阅读和编写开源代码 ...

  5. VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

    首先启动Nginx 1. 相关浏览 两个 Tomcat 配置:  VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...

  6. VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)

    准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...

  7. Hearbeat + Nginx 安装配置

    Hearbeat + Nginx 安装配置 实验环境 两台主机:Linux Centos 6.5 32位 主 服务端:Hearbeat + Nginx eth0:192.168.1.160(公网) e ...

  8. Nginx安装配置|Nginx反向代理|Nginx支持HTTPS|Nginx重定向

    Nginx安装配置 可以直接看到最下面的HTTPS. Nginx安装 我的系统如下: No LSB modules are available. Distributor ID: Ubuntu Desc ...

  9. python django uwsgi nginx安装

    python django uwsgi nginx安装 已安装完成python/django的情况下安装 pip install uwsgi cd /usr/share/nginx/html/ vim ...

  10. puppet 3+Unicorn+Nginx安装配置

    puppet 3+Unicorn+Nginx安装配置 2014-08-15 10:58 酒瓶不倒 酒瓶不倒的博客 字号:T | T 一键收藏,随时查看,分享好友! Unicorn 效率要比 Webri ...

随机推荐

  1. js中获取当前项目名等

    实际上通过window.location可以获取很多跟资源路径相关的信息,需要用到的时候直接通过浏览器调试可以查看window.location的一些属性

  2. 不使用DataContext直接将ViewModels绑定到ItemsControl控件

    在常规的MVVM设计模式中,都是通过DataContext将ViewModels的一个对象绑定到View的DataContext中,从而完成相应地绑定,在本文中我们将通过另外的一种思路来将ViewMo ...

  3. python数据结构与算法第四天【代码执行时间测试模块】

    #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from timeit import Timer def foo(): ''' 使用append方式向列表添加 ...

  4. mybatis generator的maven插件,找不到properties的配置文件错误的解决

    第一次运行的时候,maven插件是正确运行了的 但后面对 maven 的 build节点做了一点修改,就开始报错,找不到 properties标签指定的的数据库连接配置文件了 修改部分如下: 这个操作 ...

  5. ECharts在柱状图的柱子上方显示数量的方法

    在setOption()方法中的series配置中加上itemStyle配置 如下: series: [{ name: '人数', type: 'bar', data: [], //x轴对应列的值 i ...

  6. linux 查看网段内所有IP

    如有转载,不胜荣幸.http://www.cnblogs.com/aaron-agu/ 方法一: nmap –nsP 192.168.1.0/24 #从192.168.1.0到192.168.1.25 ...

  7. dataTable之自定义按钮实现全表 复制 打印 导出 重载

    //本文对常用表格插件datatable 的自定义按钮功能键进行详细解释//其中 15-78行是定义表单//16 18 19 三行定义自定义功能按钮 实现对全表的 复制 打印 导出(csv即excel ...

  8. CSS 背景图片 添加 重复和定位。

    <!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...

  9. Mvc校验用户没有登录就跳转的实现

    看字面意思很简单,就是判断用户是否登录了,如果没有登录就跳转到登陆页面. 没错,主要代码如下(这里就不写判断登录了,直接跳转) 首先在控制器中新建一个BaseController public cla ...

  10. QXcbConnection: Could not connect to display

    import matplotlib; matplotlib.use('agg') 注意:要添加到所有matplotlib前面,否则不起作用