nginx uwsgi flask相关配置
一、安装Nginx
在 /home/download下下载压缩包
wget https://nginx.org/download/nginx-1.12.2.tar.gz
解压缩
tar zxvf nginx-1.12.2.tar.gz
./configure
make
make install
添加环境变量:
vim ~/.bashrc
//添加
#NGINX
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
source ~/.bashrc//激活
一些nginx相关命令
nginx -s stop //重启nginx
nginx //启动
pkill -9 nginx //强制停止
修改nginx配置
//路径
vim /usr/local/nginx//conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name xxx.xxx.xxx.xxx;
#charset koi8-r;
access_log /home/web/JulyNovel/logs/access.log;
error_log /home/web/JulyNovel/logs/error.log;
location / {
include uwsgi_params;
uwsgi_pass localhost:5000;
uwsgi_param UWSGI_PYHOME /root/anaconda3/envs/WebServer;
uwsgi_param UWSGI_CHDIR /home/Web/JulyNovel;
uwsgi_param UWSGI_SCRIPT manage:app;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
二、uwsgi安装
先安装uwsgi
pip install uwsgi
在你的项目根目录下创建一个配置文件uwsgiconfig.ini(uwsgi支持多种配置文件格式,xml,ini,json等)
[uwsgi]
socket = 127.0.0.1:8001 //启动程序时所使用的地址和端口,通常在本地运行flask项目,
//地址和端口是127.0.0.1:5000,
//不过在服务器上是通过uwsgi设置端口,通过uwsgi来启动项目,
//也就是说启动了uwsgi,也就启动了项目。
chdir = /home/www/ //项目目录
wsgi-file = manage.py //flask程序的启动文件,通常在本地是通过运行
// python manage.py runserver 来启动项目的
callable = app //程序内启用的application变量名
processes = 4 //处理器个数
threads = 2 //线程个数
stats = 127.0.0.1:9191 //获取uwsgi统计信息的服务地址
启动、停止uwsgi
前提:yum install psmisc
新建manage_uwsgi.sh
sh manage_uwsgi.sh stop
#!/bin/bash
if [ ! -n "$1" ]
then
echo "Usages: sh uwsgiserver.sh [start|stop|restart]"
exit 0
fi
if [ $1 = start ]
then
psid=`ps aux | grep "uwsgi" | grep -v "grep" | wc -l`
if [ $psid -gt 4 ]
then
echo "uwsgi is running!"
exit 0
else
uwsgi /etc/uwsgi.ini
echo "Start uwsgi service [OK]"
fi
elif [ $1 = stop ];then
killall -9 uwsgi
echo "Stop uwsgi service [OK]"
elif [ $1 = restart ];then
killall -9 uwsgi
/usr/bin/uwsgi --ini /etc/uwsgi.ini
echo "Restart uwsgi service [OK]"
else
echo "Usages: sh uwsgiserver.sh [start|stop|restart]"
fi
保存配置文件,我们可以通过键入 uwsgi uwsgiconfig.ini
来启动uwsgi。
三、anaconda3配置
在 /home/download下下载压缩包
wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh
·bash Anaconda3-5.0.1-Linux-x86_64.sh·
常用命令
conda env list //
conda create --name //
source activate <evn-name>
四、前往我的Github下载源码
五、启动程序,玩起来吧
localhost:5000
主从共四台服务器配置好Python uWSGI Nginx环境后,额外为主服务器配置MariaDB和Redis环境:
别忘了差异化配置config.py
好了,可以开始愉快地Spider了
xxx.xxx.xxx.xx/missionStart
顺便,任何一台服务器都可以访问Graphql接口测试文档:
xxx.xxx.xxx.xx/graphql
nginx uwsgi flask相关配置的更多相关文章
- nginx+uwsgi+flask+supervisor 项目部署
环境 - Linux: Ubuntu 16.04 - uWSGI 2.0.18 - Flask 1.0.2 - supervisor 3.2.0 - nginx/1.8.1 首先区分几个概念 WSGI ...
- Ubuntu下nginx+uwsgi+flask的执行环境搭建
选择web framwork是个非常艰难的事情, 主要分为轻量级和重量级框架. 因为没有搭建站点这样的须要, 所以回避SSH, Django这样的框架, 而选择一个轻量级框架. 自己也比較青睐pyth ...
- nginx+uwsgi+flask 服务器配置
注:每个机器,软件版本可能不一样,虽然网上有很多类似的帖子,但是我在搭建的时候遇到了不少的坑,此文仅供参考. 请求流程: 1.安装uwsgi uwsgi是一个应用服务器,非静态文件的网络请求就必须通过 ...
- Ubuntu下使用Nginx+uWSGI+Flask(初体验)
Ubuntu 18.04,Nginx 1.14.0, uWSGI 2.0.17.1,Flask, 前言 Windows不支持uWSGI!为了上线自己的项目,只能选择Linux. 自己前面开发了一个Fl ...
- Docker构建nginx+uwsgi+flask镜像(二)
Dockerfile搭建环境并打包应用 在上一章Docker构建nginx+uwsgi+flask镜像(一)的学习中,我们学会用命令行一句一句在alpine环境中搭建nginx+uwsgi+flask ...
- Docker构建nginx+uwsgi+flask镜像(一)
前言 笔者之前是从事Java方面的工作,自从18年5月左右来到新的公司,接触到Python,被其简单优雅的语法风格深深吸引,同时,新公司也帮助笔者打开Docker世界的大门,让笔者体会到“一次打包,到 ...
- 一次请求中,经过 nginx+uWSGI+flask应用程序搭建服务的执行过程
Flask框架有自带的http server,但是缺点非常明显,并发能力,及时响应非常差,只适合开发时自测使用. 在我接触过的项目中,生产环境使用nginx+uWSGI+flask应用程序进行部署服务 ...
- Linux centos VMware Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理
一.Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|x ...
- nginx+uwsgi+flask搭建python-web应用程序
Flask本身就可以直接启动HTTP服务器,但是受限于管理.部署.性能等问题,在生产环境中,我们一般不会使用Flask自身所带的HTTP服务器. 从现在已有的实践来看,对于Flask,比较好的部署方式 ...
随机推荐
- iOS开发基础控件--UIButton
01 //这里创建一个圆角矩形的按钮 02 UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 03 ...
- Python与Go插入排序
#!/usr/bin/env python # -*- coding: utf-8 -*- # 插入排序 # 时间复杂度 O(n^2) import time def logger(func): st ...
- web前端整套面试题(二)--今日头条面试题
12道单选,7道不定项选择,2道编程题 一.单选(12题) 1.[单选题]在HTML中,( )可以在网页上通过链接直接打开邮件客户端发送邮件. A.<a href=”telnet:ming.zh ...
- JAVA中Colllection的基本功能
Collection中的add方法: 代码: public static void main(String[] args) { // TODO Auto-generated method ...
- node-mysql中防止SQL注入
备注: 本文针对mysqljs/mysql. 为了防止SQL注入,可以将SQL中传入参数进行编码,而不是直接进行字符串拼接.在node-mysql中,防止SQL注入的常用方法有以下四种: 方法一:使用 ...
- 用Box2d物理引擎设计类似愤怒小鸟投篮游戏 物理引擎的引入和基本框架搭建
- cdoj31-饭卡(card) (01背包)
http://acm.uestc.edu.cn/#/problem/show/31 饭卡(card) Time Limit: 3000/1000MS (Java/Others) Memory ...
- jsp实现查询与展示功能
今天做了一天的这个功能,开始是数据库一直打不开,显示Class not found,一直调试,调试了一下午.原来是mysql的jar包,必须要放到WEB-INF这个目录下的lib文件夹中,然后bui ...
- O(n)求中位数和第k大数
解题关键:模板与思路.面试题 #include<cstdio> #include<cstring> #include<algorithm> #include< ...
- 使用Jenkins集成和自动化打包资料
1.手把手教你利用Jenkins持续集成iOS项目 http://www.jianshu.com/p/41ecb06ae95f 2.Jenkins+ Xcode+ 蒲公英 实现IOS自动化打包和分发 ...