CentOS 傻瓜式部署uWSGI + nginx + flask
程序员文章站
2022-04-03 23:29:42
交代背景 这篇帖子是为了提供我自己的July Novel站点的小说数据支撑。解决分布式部署爬虫程序的繁琐过程,由于本人对shell编程并不熟悉,故而先逐步记录操作步骤,通过以下操作达到节省时间的方式。 三个前提: 1.首先是四台云服务器,全部安装Cent OS 7.4, 四台服务器中一台主服务器,三 ......
交代背景
这篇帖子是为了提供我自己的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
uwsgi --ini /home/web/JulyNovel/uwsgiconfig.ini /usr/local/nginx/sbin/nginx
7.最后,别忘了服务器安全组端口入站规则开启。
下一篇: 我日了狗了
推荐阅读
-
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
-
CentOS7 Docker Nginx部署及运行详解
-
详解Django+Uwsgi+Nginx 实现生产环境部署
-
Django uwsgi Nginx 的生产环境部署详解
-
centos 7.0 使用Nginx部署flask应用教程
-
SLAM+语音机器人DIY系列:(八)高阶拓展——2.centos7下部署Django(nginx+uwsgi+django+python3)
-
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
-
用uWSGI和Nginx部署Flask项目的方法示例
-
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
-
Django+Uwsgi+Nginx如何实现生产环境部署