文章目录
一、Nginx简介
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
应用场景
http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
二、Nginx安装
1. 安装环境
- 需要安装gcc的环境。yum install gcc-c++
- yum install -y pcre pcre-devel
- yum install -y zlib zlib-devel
- yum install -y openssl openssl-devel
2. 安装Nginx
wget http://nginx.org/download/nginx-1.14.2.tar.gz
tar -zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure
sudo make & make install
3.修改配置文件,./conf/nginx.conf
server {
listen 8083; //服务端口
server_name localhost; //服务器ip
location / {
include uwsgi_params; //这里是导入的uwsgi配置
uwsgi_pass 127.0.0.1:5000; //需要和uwsgi的配置文件里socket项的地址相同,否则无法让uwsgi接收到请求。
uwsgi_param UWSGI_CHDIR /opt/cntreport/cnt_report; //项目根目录
uwsgi_param UWSGI_SCRIPT cnt_report:app; //启动项目的主程序【程序名:项目名】
}
}
二、uWGSI安装
1.下载安装包并解压
wget http://projects.unbit.it/downloads/uwsgi-1.4.10.tar.gz
tar -zxvf uwsgi-1.4.10.tar.gz
cd uwsgi-1.4.10
2.修改文件夹下 buildconf/core.ini 文件
plugin_dir = /usr/lib/uwsgi #自定义目录
bin_name = /usr/bin/uwsgi #自定义目录
3.编译 uWSGI
python uwsgiconfig.py --build core
4.创建配置文件uwsgiconfig.ini
socket = 127.0.0.1:5000 # 如果通过Nginx调用, 启动与Nginx进行通信的socket服务的
wsgi-file = /opt/cntreport/cnt_report/cnt_report.py # 启动服务的脚本文件
callable = app # 一般指app=Flask(__name__)的变量名app
processes = 3 # 进程数
threads = 2 # 每个进程的线程数
plugin = /opt/Python-3.6.0/python # python版本,如需要请用绝对路径
daemonize = /opt/log/uwsgi_log/server.log # 日志文件
pidfile = uwsgi.pid # 保存pid信息,方便停止服务和重启的时候用
三、启动服务
1.先启动nginx,再启动uwsgi
nginx -c ./nginx/conf/nginx.conf
uwsgi --ini ./uwsgi/uwsgiconfig.ini