Centos6下利用nginx+uwsgi+flash发布网站

Centos6下利用nginx+uwsgi+flash发布网站

 

基本环境:centos6.8,python3.5.3

 

基础配置:

yum install nginx  #安装不上,手动下载包,让后解压在安装

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

如果不能执行上面命令,手动下载这个rpm包,然后解压

验证环境

Service nginx start

然后访问http://127.0.0.1

 

pip3 install uwsgi

ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi  #软连接,能够启用uwsgi命令

 

验证环境

# test.py

def application(env, start_response):

     return [b"Hello World"] # python3

 

uwsgi --http :8000 --wsgi-file test.py  #测试用程序,在浏览器中访问8000端口

ps -ef|grep uwsgi   #查看进程

Killall -9 uwsgi      #杀死进程

 

方案一:利用uwsgi发布flash的程序

思路:先配置uwsgi参数,然后命令行启用环境,就可以http访问了。配置文件如下,名称任意,位置任意。我放在flask工程目录下了,uwsgi.ini。

注意坑:py程序引用了很多库,默认没有安装,记得安装。否则会报错,服务器内部错误,查看日志能看到缺少哪些包

[uwsgi]

# manage.py文件所在目录

chdir           = /root/flask

callable = app   #程序里面的应用名称

wsgi-file= server5.py   # flask文件名

processes       = 2  # 进程数

http = 0.0.0.0:5001   # 使用5001端口

daemonize = /root/flask/flask.log  # 日志输出目录

pidfile = project-master.pid

 

利用命令启用环境

uwsgi uwsig.ini

让后在ie中访问127.0.0.1:5001既可以了

 

这里的问题,要修改了py程序,必须重新启用uwsgi,用killall -9 uwsgi杀死进程,然后在启动

 

方案二:利用nginx+uwsgi发布flask

参考:https://www.cnblogs.com/vijayfly/p/6290773.html

思路:修改uwsgi的ini配置文件,把http换为socket就可以了。Nginx的配置文件在/etc/nginx/config/config.d/下面。利用nginx监听的9000端口http协议访问,让后利用socket协议,转发到uwsgi监听的8001端口上,让后通信就可以了。

两个配置文件

 uwsig.ini文件

[uwsgi]

# manage.py文件所在目录

chdir           = /root/flask

callable = app

# flask文件名

wsgi-file= server5.py

# 进程数

processes       = 2

# 使用5001端口

socket = 127.0.0.1:5001

# 日志输出目录

daemonize = /root/flask/flask.log

pidfile = project-master.pid

stats = 127.0.0.1:9191

 

default.conf文件

server {

            listen      9000;

            server_name  localhost;

            charset    utf-8;

            

            access_log  /root/flask/access.log;

            error_log  /root/flask/error.log;

 

            client_max_body_size 100M;

 

            location / {

                include        uwsgi_params;

                uwsgi_pass     127.0.0.1:5001;

                uwsgi_param UWSGI_PYHOME /usr/bin/python3;

                uwsgi_param UWSGI_CHDIR /root/flask;

                uwsgi_param UWSGI_SCRIPT server5:app;

            }

        }

 

启动命令:

uwsgi uwsig.ini

Service nginx start

Service nginx retart  #stop

Killall -9 uwsig

ps -ef|grep nginx

ps -ef|grep uwsig

netstat -tunlp|grep nginx

netstat -tunlp|grep uwsig

 

 

nginx的权限问题(13: Permission denied)解决办法

补充问题:有时启动nginx,运行后有问题,查看log日志

 

四、SELinux设置为开启状态(enabled)的原因。

4.1、查看当前selinux的状态。

1.    /usr/sbin/sestatus

4.2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。

1.    vi /etc/selinux/config

2.     

3.    #SELINUX=enforcing

4.    SELINUX=disabled

4.3、重启生效。reboot。

1.    reboot

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值