最新小白详细描述在centos7.5上安装python3并使用Nginx+virtualenv+supervisor来部署tornado项目(整理集合结合实际)系列2
4.安装nginx
安装gcc gcc是用来编译下载下来的nginx源码,安装gcc和c++编译器(当然以下都是在切换到root用户下的)
yum -y install gcc gcc-c++
centOS安装依赖
yum -y install make gcc zlib zlib-devel openssl openssl-devel pcre pcre-devel
安装Nginx
yum install -y nginx
查看nginx是否启动 命令: ps -ef|grep nginx
使用命令 kill -QUIT pid(nginx进程号) 杀掉进程 或者使用pkill -9 nginx 杀死所有nginx进程。然后用以下代码检查安装是否正确。
nginx -c /etc/nginx/nginx.conf #检查配置是否正确
nginx -t
接着在打开配置文件/etc/nginx/nginx.conf 拖到最后,同之前supervisor一样将include改为如下(忘记需不需要改了反正最终是这样的)
接着在/etc/nginx/conf.d(没有的创建一下)下创建conf文件添加如下代码
upstream tornadoes {
server 127.0.0.1:8001;
#server 127.0.0.1:8006;
#server 127.0.0.1:8008;
#server 127.0.0.1:8009;
}
server {
listen 8011;
server_name 127.0.0.1; # IP填上你的服务器IP地址或域名,如果是本地,就是127.0.0.1
# 将Nginx作为代理服务器
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme; # 协议 http https
proxy_pass http://tornadoes;
#以下是一些反向代理的配置(可选择性配置)
#proxy_redirect off;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
#proxy_set_header X-Forwarded-For $remote_addr;
#proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
#proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
#proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
#proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
#proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
#proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
#proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
client_max_body_size 100m; #允许客户端请求的最大单文件字节数
client_body_buffer_size 100m; #缓冲区代理缓冲用户端请求的最大字节数
}
}
这段代码可能会在最后启动时候有点问题,但是直接把文件复制过去是没问题的。
然后,在终端输入:
pkill -9 nginx
nginx -c /etc/nginx/nginx.conf
启动反向代理。(之前还用过 systemctl start nginx 来启动代理,但是一直启动不起来,现在想想,应该是跟supervisor一样的问题,没有用nginx -c 启动配置,systemctl start nginx用不了(还有stop等等))。
其中还存在着当我用 server 127.0.0.1:8001;server 127.0.0.1:8002;server 127.0.0.1:8003; server 127.0.0.1:8004;四个服务反向代理为127.0.0.1:8011后项目会卡在中间一个步骤。查看日志发现是由于代码中两个接口,一个是上传文件到服务器,另一个是从服务器拿到文件进行处理。我要判断文件是不是同一个,却发现前后名字不同而报错。当我只有 server 127.0.0.1:8001反向代理为127.0.0.1:8011却不出现这个问题。
5.关闭防火墙
这样配置完成如果不出问题,你就在本地可以打开127.0.0.1:8011网页,但是却不能在网内其他电脑打开,这是由防火墙的问题
只要运行如下代码即可(这三个也不知道有没有用)
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
最后我是运行了
systemctl stop firewalld
systemctl disable firewalld
之后便可以在其它电脑上访问了。
参考:https://blog.csdn.net/qq_27755287/article/details/80247561
https://blog.csdn.net/zql3315/article/details/54924689
https://blog.csdn.net/Sweet_Buns/article/details/79093543
https://www.cnblogs.com/moxiaoan/p/5683743.html
6.补充
由于我的项目代码是虚拟环境python3中运行的,在安装相应的包的时候首先要激活到环境中在终端中输入如下代码即可(随时激活的方式):
source /root/ENV/python3/bin/activate
其中/root/ENV/python3 是虚拟环境路径。退出python3环境系列1中已经说明。
到此处初步部署结束。千万注意是centos7下的,其他liunx系统可能会有些不同。
12月4日补充和建议
根据上面步骤部署出来的服务权限会高,如果是简单的服务没问题,但是一到复杂的项目就会因为权限出现问题,要了解具体可以看我之后的博文。
防火墙这里最能体现我是小白。防火墙不要关,只需要开放你要用的端口号即可具体参考
https://www.cnblogs.com/eaglezb/p/6073739.html
https://blog.csdn.net/lkp1603645756/article/details/82629839
ps2019年5月22日添加:
ubuntu 开启防火墙/开启端口
查看本地端口开启情况:sudo ufw status
关闭防火墙:sudo ufw disable(防火墙在系统启动时自动禁用)
开启防火墙,允许访问特定端口:sudo ufw enable,sudo ufw allow 81
不允许访问特定端口:sudo ufw deny 81
参考:https://blog.csdn.net/m0_37315653/article/details/83149067
最新小白详细描述在centos7.5上安装python3并使用Nginx+virtualenv+supervisor来部署tornado项目(整理集合结合实际)系列2相关推荐
- 最新小白详细描述在centos7.5上安装python3并使用Nginx+virtualenv+supervisor来部署tornado项目(整理集合结合实际)系列1
Centos7默认自带了Python2.7版本(选择最小安装可能没有),但是因为项目需要使用Python3.x你可以按照此文的三个方法进行安装.(本文是大致部署好后一段时间才写的,由于中间遇到许多坑导 ...
- Centos7.x上安装cerebro
Centos7.x上安装cerebro 一.实验物料 二.安装过程 1.安装JDK11 2.安装cerebro 3.启动cerebro 4.验证cerebro 一.实验物料 物料名称 下载地址 Cen ...
- tableau server在centos7.6上安装记录
tableau server在centos7.6上安装记录 1.官网 2. 准备工作 3. 添加2个账号用于tableau server 管理员 4. 安装Tableau Server软件包 环境说明 ...
- 在Centos7.X上安装中文字体及相关配置
在Centos7.X上安装中文字体及相关配置 文章目录 在Centos7.X上安装中文字体及相关配置 前言 一.查看系统字体 二.安装字体 三.检测linux上安装的中文字体 四.配置别名 前言 Li ...
- linux epel7安装,在CentOS6.x或CentOS7.x上安装EPEL Repo,Extra Packages for Enterprise Linux (EPEL)...
在CentOS6.x或CentOS7.x上安装EPEL Repo,Extra Packages for Enterprise Linux (EPEL) Error: Cannot retrieve m ...
- python3.8.2安装教程-在服务器上安装python3.8.2环境的教程详解
在服务器上安装python3.8.2环境 官网3.8.2下载地址 下载安装 下载好了之后上传到服务器上 或者在服务器上通过命令下载 wget https://www.python.org/ftp/py ...
- python3.8.2安装教程-在服务器上安装python3.8.2环境
在服务器上安装python3.8.2环境 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 官网3.8.2下载地址 下载安装 下载 ...
- windows上安装python3教程以及环境变量配置详解
这篇文章主要介绍了windows上安装python3教程以及环境变量配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.在浏览器搜索pyth ...
- 在Ubuntu 16.04.6 LTS上安装python3.7和pip3后出现Command '('lsb_release', '-a')' 出错问题的解决方法
在Ubuntu 16.04.6 LTS上安装python3.7和pip3后出现Command '('lsb_release', '-a')' returned non-zero exit status ...
最新文章
- 锂电池放空后充不进电_锂电池过度放电后充不进电怎么办
- 这是我们的第一篇博客----偕行软件
- 考研山东省的计算机学校有哪些,山东考研哪个学校好考
- Python中的zip函数
- 详解 meta http-equiv = X-UA-Compatible content = IE=edge,chrome=1 /
- 聊聊springcloud的GatewayControllerEndpoint
- 快速掌握消息队列MQ最内核,图文并茂详解
- oracle crystall ball,Oracle Crystal Ball下载
- 深入理解JVM - 系统性能优化
- 电脑桌面便签软件怎么通过便签快捷键快速云同步便签内容?
- 【Oracle 11g学习路线】
- 微前端框架哪个好?QianKun还是MicroApp
- Save coredump
- 提高素质,讲文明树新风
- 如何快速提取视频中的文案?
- 【Docker 那些事儿】容器监控系统,来自Docker的暴击
- 西电软工oop面向对象程序设计实验二上机报告
- idea 回车, 加号在行首
- 拆解VCM音圈马达,原理、结构
- 2022年四川大学计算机考研复试开始了吗