CentOS 傻瓜式部署uWSGI + nginx + flask
交代背景
这篇帖子是为了提供我自己的July Novel站点的小说数据支撑。解决分布式部署爬虫程序的繁琐过程,由于本人对shell编程并不熟悉,故而先逐步记录操作步骤,通过以下操作达到节省时间的方式。
三个前提:
1.首先是四台云服务器,全部安装Cent OS 7.4, 四台服务器中一台主服务器,三台从服务器,服务器都是刚刚全新安装,并且,主服务器已经安装MariaDB和Redis数据库;
2.其次是客户端连接远程服务器使用的是Xshell,通过Xshell同时打开多个标签页,并且通过撰写栏发送命令,每次发送四台服务器都同时收到指令开始执行;
3.待部署的代码已经躺在github上了。
具体实施步骤
下面我会逐步交代如何操作
获取管理员权限
sudo -s
1.预装接下来会用到的软件
#gcc编译器
#源码方式安装nginx所需。
yum install gcc gcc-c++
#nginx rewrite 需求
yum install -y pcre-devel
#安装anaconda3 解压需求(貌似Azure的centos云服务器内置了,而Aliyun似乎)
yum install -y zlib-devel
#版本控制,不谈了
yum install -y git
#控制uWSGI停止启动的脚本需要
yum install -y psmisc
#网站上https必备。建议上。
yum install -y openssl openssl-devel
2.编译nginx
mkdir /home/web
mkdir /home/download
cd /home/download
wget https://nginx.org/download/nginx-1.12.2.tar.gz
tar zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install
3.安装anaconda3(版本很关键,最新版5.10.1跟我这套配置有点冲突,建议用我这个版本5.0.1)
cd ../
wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh
bash Anaconda3-5.0.1-Linux-x86_64.sh
#激活环境变量
source ~/.bashrc
#创建虚拟python环境
conda create --name web
#跳转到新建的web环境下
source activate web
4.clone我的JulyNovel后端源代码
cd /home/web
git clone https://github.com/congjinruo/JulyNovel.git
cd JulyNovel
pip install -r requirements.txt
nginx和uWSGI需求的几个日志文件生成一下
mkdir logs
touch logs/access.log
touch logs/error.log
touch logs/uwsgi.log
5.三个配置文件的单独设置,我把这三份文件详细设置放在我的github README.md上。
#配置nginx
vim /usr/local/nginx/conf/nginx.conf
#配置JulyNovel的MariaDB、Redis、Aliyun OSS的连接方式
vim /home/web/JulyNovel/config.py
#编辑管理uWSGI运行启动的脚本
vim /home/web/manage_uwsgi.sh
6.开启uWSGI和nginx
注意,部分服务器在运行下面命令可能会报错,请将anaconda/lib里的文件用cp命令复制到/lib64文件夹内
uwsgi --ini /home/web/JulyNovel/uwsgiconfig.ini
/usr/local/nginx/sbin/nginx
7.最后,别忘了服务器安全组端口入站规则开启。
CentOS 傻瓜式部署uWSGI + nginx + flask的更多相关文章
- Django 部署 uwsgi + nginx + supervisor
Django 部署 uwsgi + nginx + supervisor https://hacpai.com/article/1460607620615?p=1&m=0 zonghua • ...
- 5分钟搭建wordpress个人博客网站——宝塔傻瓜式部署,无坑系列,附赠主题和md插件[2021-12-31]
一.前言 自从买了服务器,小编已经马不停蹄的学了两天服务搭建的知识,问了很多大佬,快速搭建自己的博客网站.有四种方式,我在这里全部分享给大家.自己已经搭建好,欢迎大家过来看一下,给你提供个思路哈! 小 ...
- centos 6.x 部署uwsgi+flask项目
一.项目背景 1. 公司需求要做一个在线统计页面; 2. 统计在线人数,进行人数数据展示; 3. 类似QQ官网在线人数 二.测试环境 [root@linux-node2 ~]# cat /etc/*r ...
- uWSGI+Nginx+Flask在Linux下的部署
搞了一天多,终于搞通了uWSGI的部署原理,下面总结一下遇到的一些坑,希望给读者能够少走弯路. 简单来说,uWSGI是一个web服务器,Nginx进行反向代理的其实跟这些服务器可以说没有 ...
- [py]django上线部署-uwsgi+nginx+py3/django1.10
https://github.com/lannyMa/django-uwsgi-nginx.git 单机调试启动-确保项目代码没问题 - 克隆代码进入项目 git clone https://gith ...
- django 本地项目部署uwsgi 以及云服务器部署 uwsgi+Nginx+Docker+MySQL主从
一 .django 本地项目部署uwsgi 1 本地部署项目 uwsgi安装测试 通过uwsgi 进行简单部署 安装uwsgi命令:pip install uwsgi -i http://pypi.d ...
- django自带wsgi server vs 部署uwsgi+nginx后的性能对比
一.下面先交代一下测试云主机 cpu: root@alexknight:/tmp/webbench-1.5# cat /proc/cpuinfo |grep model model : model n ...
- docker部署项目: centos+python+redis+mysql+uwsgi+nginx
一.Centos7安装docker 1.1 环境配置 先测试是否下载了docker:查看镜像:docker images没有下载,就依次执行以下环境的安装 ①curl http://mirrors.a ...
- CentOs Linux 对于Django uwsgi + Nginx 的安装与部署
Django Nginx+uWSGI 安装配置 链接:
随机推荐
- django -- url (模版语言 {% url 'test1' param1=5 param2=6 %})
如果想让form表单提交的url是类似 action="/index-5-6.html" 这样的,可以在html模版语言中使用{% url 'test1' param1=5 par ...
- mysql 乱码 utf8
my.ini [mysql]default-character-set=utf8 [mysqld]character-set-server=utf8 show variables like '%cha ...
- 黑暗之光 Day2
1. 鼠标点击UI检测 UICamera.isOverUI 2. 鼠标指针管理 public class CussorManager : MonoBehaviour { public static C ...
- Git(三):Git 使用规范流程
转:http://www.ruanyifeng.com/blog/2015/08/git-use-process.html 团队开发中,遵循一个合理.清晰的Git使用流程,是非常重要的. 否则,每个人 ...
- Ryu控制器学习
Ryu 在Mininet环境下实现Ryu为控制器控制ARP报文的实验中学习了Ryu相关的知识,记录如下 官方文档:http://ryu.readthedocs.io/en/latest/getting ...
- 【 Makefile 编程基础之…
本站文章均为李华明Himi原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/gcc-makefile/766.html 概述: ...
- 关于启动MongDB的mongod.exe文件闪退的问题
昨天学mongdb的时候,遇到了mongod.exe闪退的问题,解决办法很简单: 你可以不执行mongod.exe,直接用命令行操作 在你安装mongdb的盘的根目录下创建一个data文件夹,一定要在 ...
- 高性能Web服务器Nginx的配置与部署研究(5)Nginx配置符号
1. 容量符号 k 千字节 K 千字节 m 兆字节 M 兆字节 2. 时间符号 ms 毫秒 s 秒 m 分 h 时 d 日 w 周 M 月(按照30天计算) y 年(按照365天计算) 3. 示例 1 ...
- 面向对象的JavaScript-003
1. // Since JavaScript doesn't exactly have sub-class objects, prototype is a useful workaround to m ...
- code1068 乌龟棋
暴力显然不行,所以考虑dp 记f[i][j][k][l]为使用i张1,j张2,k张3,l张4所得到的最大分数. 对于每个f[i][j][k][l],都可以由i-1张1,j张2,k张3,l张4所得到, ...