专栏首页家劲CentOS 傻瓜式部署uWSGI + nginx + flask

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上。

JulyNovel Github

#配置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.最后,别忘了服务器安全组端口入站规则开启。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MariaDB 数据库迁移

    我的七月小说站点放在JCloud上,恕我直言,配合我的Aliyun服务器进行数据交互,那是相当的慢,没办法,京东云上面十几块钱的公网ip,也就这样了。 所以我...

    从今若
  • React + Python 七月小说网 启程(一)

    很久没有写技术相关的博客了,最近几个月忙飞,各种工作,技术根本学不完,很难受。 趁着春节期间,终于有空闲时间做自己爱做的事情了,美滋滋。 热爱技术,热爱小说...

    从今若
  • Redis 七月小说网的爬虫缓存设计

    1.主服务器先根据spider.all set排重,再 lpush request_url 到spider.wait List中,并且 sadd request...

    从今若
  • 如何配置https证书

    https://help.aliyun.com/document_detail/98737.html?spm=a2c4g.11186623.6.567.270f...

    北溟有鱼QAQ
  • 如何防御大流量例如cc和ddos这种攻击

    最近看见一些我的朋友遭受了各种网站攻击,于是就有了这篇博文,主要讲解如何防御大流量消耗资源的方案。

    乔千
  • 第十二节 微服务https之间访问问题

    上面这个问题归结起来就是无法验证网站的证书,找不到证书验证链 针对这个问题,Java的证书验证系统与其他不同,将代理工具生成的证书作为可信根证书导入系统证书库...

    用户1418372
  • 如何给服务器安装SSL证书?

    如何给服务器安装SSL证书?给服务器安装SSL证书,我们可以使用服务器证书安装配置指南(Apache)的方法来进行。

    合信ssl证书
  • 用asp.net core结合fastdfs打造分布式文件存储系统

    最近被安排开发文件存储微服务,要求是能够通过配置来无缝切换我们公司内部研发的文件存储系统,FastDFS,MongDb GridFS,腾讯云OSS等。根据任务紧...

    依乐祝
  • Windows成“弃子”,Linux终上位?

    时光倒退二十年,彼时不可一世的微软将开源软件视为眼中钉肉中刺,甚至吐槽其是知识产权的癌症。如今,从“爱 Linux“到豪掷 75 亿美元收购 GitHub,微软...

    三哥
  • 学历和能力对程序员那个更重要

    央视新闻曾做过关于高考的调查,结果有七成网友支持高考取消数学,看到新闻后,有一位网友却一针见血地评论道:数学考试存在的意义就是把这七成网友筛选掉。

    无涯WuYa

扫码关注云+社区

领取腾讯云代金券