

1、安装基础依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
如果是政务外网使用yum需要提前修改代理,在etc/yum.conf中的添加
proxy=http://172.20.21.66:80
2、访问Nginx官网(http://nginx.org/download/)查找需要安装的版本
3、执行命令进行下载安装,版本号请替换成自己需要版本
//根目录创建一个目录,并进入此目录 mkdir installdata cd installdata //下载tar包,如果网络不通也可以自行下载上传到服务器 wget http://nginx.org/download/nginx-1.22.0.tar.gz //解压tar包 tar -xvf nginx-1.22.0.tar.gz //进入解压完成的目录 cd nginx-1.22.0 //执行命令 考虑到后续安装ssl证书 添加两个模块 ./configure --with-http_stub_status_module --with-http_ssl_module //执行make命令 make //执行make install命令 make install
4、启动Nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
5、配置Nginx
vi /usr/local/nginx/conf/nginx.conf
6、重启Nginx
/usr/local/nginx/sbin/nginx -s reload
7、查看nginx进程是否启动
ps -ef | grep nginx
现在我有一台服务器,这里叫服务器①,服务器①的80端口因为某些原因被封了,而原来指向这台服务器的域名全都失效了,只能通过服务器①的ip:端口号的方式进行访问,这样用户体验极差,所以找办法解决了一下,于是有了下面的方案。
需要两台服务器(服务器①和服务器②,服务器①是源码所在服务器),以及域名解析权限。
首先解析一个ip:端口号的访问地址,并确保能正常访问。
然后把想要恢复正常的网站解析到服务器②上,然后此服务器打开Nginx的配置,在配置的最后一行会有这么一句:
include /www/server/panel/vhost/nginx/*.conf;
我们去打开这个目录,因为他是用*进行加载的配置,所以这里建议每个网站建立一个conf文件,文件名随意,但建议和域名同步,防止混乱后期也便于维护,要配置的内容是:
upstream shx { server 服务器①的ip:端口号 weight=1; } server { listen 80; server_name 解析的域名地址; index index.html; location / { proxy_pass http://shx/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location ~ ^/(WEB-INF)/ { deny all; } }
配置好后就可以通过域名正常访问,看上去是域名进行访问,但实际上访问的是ip:端口号。
因为此目录下所有配置是一起加载的,所以每个upstream后面的名字都要不一样,下面proxy_pass中的也要相应替换。
这个方法还有其它作用,例如某阿域名要求必须绑定自己公司的服务器,如果你绑定其他公司的服务器,会导致网站无法正常访问,也可以用这种方法,先解析到某阿自己的服务器,再指向到自己的服务器。