CentOS7 Nginx安装及配置反向代理
背景:
Mono (Mono JIT compiler version 5.4.0.201 )
jexus-5.8.2-x64(《CentOS7 安装 jexus-5.8.2-x64》)
VirtualBox5.1.22(3个CentOS7系统) (192.168.5.147、192.168.5.182、192.168.5.183)
参考资料:
http://www.cnblogs.com/guogangj/p/4131704.html(HappyAA服务器部署笔记1(nginx+tomcat的安装与配置))
http://www.cnblogs.com/guogangj/p/5207104.html(简易nginx TCP反向代理设置)
http://www.cnblogs.com/bass6/p/5948199.html(CNginx反向代理设置 从80端口转向其他端口)
http://www.cnblogs.com/jeffzhang/p/4664457.html(Centos 7 上使用nginx为Node.js配置反向代理时错误:(13: Permission denied) while connecting to upstream)
http://www.cnblogs.com/mfrbuaa/p/4866135.html(解决Nginx的connect() to 127.0.0.1:8080 failed (13: Permission denied) while connect)
http://www.cnblogs.com/zrbfree/p/6419043.html(nginx 安装时候报错:make: *** No rule to make target `build', needed by `default'. Stop.)
写这篇文章也是为了记录我的履试不爽的过程,怕以后很久不用就忘了,感谢园子及贡献者。
1、三个CentOS7系统准备
在147机子基础上完整复制了182及183,复制好后一样要刷新一下网络的MAC地址。

2、安装Jexus《CentOS7 安装 jexus-5.8.2-x64》本想只安装182:8888,183:7777,index.html内容设置不同,但因设置好后始终把错误:"502 Bad Gateway"
于是将147:8080也安装 上并设置
3、安装Nginx
#yum update
更新一些库和必要的支持,完了之后去下载一个nginx的最新版,如今我责编的版本是1.7.7:
#wget http://nginx.org/download/nginx-1.13.6.tar.gz
解压缩
#tar -zvxf nginx-1.13.6.tar.gz
#cd nginx-1.13.6
nginx有很多很多编译配置项,但由于我这是第一篇笔记,所以我基本上都使用了默认的配置:
#./configure --with-http_ssl_module --with-http_gzip_static_module
我只加了两个选项,--with-http_ssl_module表示使用ssl模块,--with-http_gzip_static_module表示使用gzip模块,其它更详细的配置就要参考nginx的文档了:http://nginx.org/en/docs/configure.html如果没configure成功(会显示XXX not found),那是因为有些依赖没有被正确安装.那么先安装一下这些依赖条件,通常是pcre,zlib这些,这么一下就基本上可以了:
#yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel#make
#make install可执行文件就会被安装在: /usr/sbin/nginx (默认配置)
nginx基本使用
程序位置:/usr/local/nginx/sbin/nginx
配置文件位置:/usr/local/nginx/conf/nginx.conf
启动nginx:
#cd /usr/local/nginx/sbin/
#./nginx如果运行的时候不带-c参数,那就采用默认的配置文件,即/etc/nginx/nginx.conf
查看运行进程状态:
# ps aux | grep nginx打开浏览器,访问http://localhost/看看nginx的默认页面:
停止nginx:
#./nginx -s stop重启nginx(配置文件变动后需要重启才能生效):
#./nginx -s reload检查配置文件是否正确:
#./nginx -t查看nginx的pid:
cat /usr/local/nginx/logs/nginx.pid查看nginx版本
$ ./nginx -v回头看编译配置
# ./nginx -V
4、Nginx配置
#vi /etc/nginx/nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;events {
worker_connections 1024;
}http {
include /etc/nginx/mime.types;
default_type application/octet-stream;sendfile on;
keepalive_timeout 65;
server {
listen 80;server_name localhost;
location / {
proxy_pass http://192.168.5.147:8080;
}}
}
按上面这样配置按理应该可以访问http://192.168.5.147 显示的应该是147:8080的网页内容,但 就是报错了
于是,这才查看日志
#vi /var/log/nginx/error.log
2017/11/03 05:23:53 [crit] 1331#1331: *12 connect() to 192.168.5.147:8080 failed
(13: Permission denied) while connecting to upstream, client: 192.168.5.65, server: localhost,
request: "GET / HTTP/1.1", upstream: "http://192.168.5.147:8080/", host: "192.168.5.147"
园子中搜“(13: Permission denied) while connecting to upstream, client:”就找到原因,
type=AVC msg=audit(1509701033.988:119): avc: denied { name_connect } for pid=1331
comm="nginx" dest=8080 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket
处理:
#setsebool -P httpd_can_network_connect 1
到这里应该就正常了,反向代理的后面设置
下面是设置两个服务器
user nginx;
worker_processes 1;error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;events {
worker_connections 1024;
}http {
include /etc/nginx/mime.types;
default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;keepalive_timeout 65;
#gzip on;
upstream test {
server 192.168.5.182:8888;
server 192.168.5.183:7777;
}
server {
listen 80;
server_name localhost;location / {
proxy_pass http://test;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Cookie $http_cookie;
}
}
}
nginx集群报错“upstream”directive is not allow here 错误
CentOS7 Nginx安装及配置反向代理的更多相关文章
- Nginx安装及配置反向代理
本片博客记录在ubuntu16下安装nginx,以及如何实现负载均衡 安装nginx 如果是新机器,安装相关依赖环境 sudo apt install build-essential sudo apt ...
- Nginx安装部署(反向代理与负载均衡)
一.下载安装Nginx(本文环境为windows xp 32bit环境) 下载地址:http://files.cnblogs.com/likehua/nginx-1.0.11.zip 解压nginx- ...
- 使用nginx和tomcat配置反向代理和动静分离
背景 本人主修的编程语言是Java语言,因此最开始接触的Web开发也是JSP技术.使用Java开发的Web应用需要部署在专门的服务器程序上运行,比如Tomcat.但是一般很少会有人将Tomcat作为用 ...
- CentOS 6.4下Squid代理服务器的安装与配置,反向代理
CentOS 6.4下Squid代理服务器的安装与配置 一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件 ...
- 【Asp.net Core】在 Linux 子系统中安装 nginx 并配置反向代理
上一篇鸟文中,老周已经介绍过在 Ubuntu 子系统中安装 dotnet-sdk 的方法,本文老周给大伙伴们说说安装 nginx 服务,并配置反向代理.同样,老周假设你从来没有用过 Linux,所以老 ...
- CentOS 7 安装 Nginx 配置反向代理
Linux使用Nginx Yum存储库上安装Nginx,适用于Red Hat Enterprise Linux和CentOS系统. 1.添加设置Nginx Yum存储库 在CentOS中首次安装Ngi ...
- nginx配置反向代理详细教程(windows版)
内容属于原创,如果需要转载,还请注明地址:http://www.cnblogs.com/j-star/p/8785334.html Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(I ...
- Nginx插件之openresty反向代理和日志滚动配置案例
Nginx插件之openresty反向代理和日志滚动配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.openresty介绍 1>.Nginx介绍 Nginx是一款 ...
- Docker 快速安装&搭建 Ngnix 环境,并配置反向代理
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
随机推荐
- Git——如何将本地项目提交至远程仓库(第一次)
1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库. git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数 ...
- mvc 在弹出框中实现文件下载
var myParent = parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent; ...
- UE导航系统详
配置 Navigation Crowd Manager Class 代理人管理类 可以自定义个 Navigation System Auto Create Navigation Data 导航数据在没 ...
- webpack学习笔记——项目引入zepto及tap事件失效的解决
先要npm下来zepto:npm install zepto 然后npm下来exports-loader和script-loader 配置如下: JavaScript // webpack.confi ...
- win10自带邮箱添加网易企业邮箱
开始-邮件-账户-添加账户-高级安装程序-internet电子邮件-然后输入网易企业邮箱的用户名和相关服务器设置就行了 接收服务器 pop.qiye.163.com发送服务器 smtp.qiye.16 ...
- Yii2.0连接多个数据库
Yii2.0连接多个数据库 一个项目根据需要会要求连接多个数据库,这里记录下实际项目中的操作流程.包括对数据库连接的配置以及如何生成模型文件,在控制器中加以运用. 一.配置 打开数据库配置文件c ...
- 计算int数组中的最大,最小,平均值
public static void testNumber(int[] arr) { int max = arr[0]; int min = arr[0]; int avg = 0; int sum ...
- salt软件远程控制服务器
1.salt安装服务器环境 准备2台机器 192.168.11.250 master端(主人) 192.168.11.167 minion端 (奴隶 ) 2.两台机器配置hosts文件,用于加速域名解 ...
- 定义Sales_data类型
Sales_data初步定义如下: struct Sales_data { string bookNo; unsigned units_sold = ; double revenue = 0.0; } ...
- 设计模式二: 工厂方法(Factory Method)
简介 工厂方法模式是创建型模式的一种, 核心结构有四个角色: 抽象工厂,具体工厂,抽象产品,具体产品; 实现层面上,该模式定义一个创建产品的接口,将实际创建工作推迟到具体工厂类实现, 一个产品对应一个 ...
