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 安装配置 链接:
随机推荐
- VS2015编译VLC2.2.1(under WIN7-64)<转>
概述: 感谢https://github.com/sunqueen/vlc-2.2.1.32-2013 这个工程,我的工作基本上都是基于它,我只是觉得他的工程设置不够清晰,重新做了一次.区别在于我的工 ...
- python:while 语句的使用方法
while语句: count = 0 while True: print(count) count += 1 if count == 10: break 实例: 计算n!,若:n = 5:则:n! = ...
- jar 运行报错:找不到或无法加载主类
NIFEST.MF文件中指定的,如下所示:Manifest-Version: 1.0Class-Path: .Main-Class: com.webex.app.Main // ...
- <转>UNIX 共享内存应用中的问题及解决方法
http://www.ibm.com/developerworks/cn/aix/library/au-cn-sharemem/ 共享内存是一种非常重要且常用的进程间通信方式,相对于其它IPC机制,因 ...
- Docker常用命令和Dockerfile语法
Linux安装Docker: sudo wget -qO- https://get.docker.com/ | sh 安装后只能用root管理,要给其他用户权限,使用命令: sudo usermod ...
- Lamber算法 & SurfaceShader自定义光照
[SurfaceShader自定义光照] 1.在pragma中添加自定义光照函数名: #pragma surface surf BasicDiffuse 2.实现自定义光照函数.下面就是Lamber ...
- react-native init安装指定版本的react-native
C:\Users\ZHONGZHENHUA\imooc_gp\index.js index.js /** @format */ import React,{ Component } from 'rea ...
- GameObject.Find 使用技巧
GameObject.Find是全局搜索 如果你已经知道这个元件在哪个元件里面的话,且担心场景中有重名元件,可以这样写 GameObject.Find ("Canvas/Panel/Imag ...
- 修改 cmd 控制台字体、巧用 FontLink 使中英文独立设置
众所周知,Windows 中 cmd 控制台窗口的字体难看,但是修改注册表是可以实现修改其字体的,但很多很棒的编程字体是没有中文的,所以在显示中文时直接调用了宋体,这绝妙的反差实在是 不忍直视.但是, ...
- devcloud
zone名字:devcloud 外网dns:8.8.8.8 内网dns:10.0.2.3 提供点名称:devcloud cs bug问题:https://issues.apache.org/j ...