Nginx安装

Nginx代理模式简介
Nginx的几种代理模式:正向代理、反向代理、透明代理。

在博主《Nginx代理的几种模式》文中已经介绍了几种代理的使用场景,本处不做赘述。

目前我们使用的几种场景:

1、反向代理(保护和隐匿原始服务器场景、负载均衡场景两种场景都用过)比较多;

2、正向代理可能会有一种场景会使用到:就是代理服务器在DMZ区可访问互联网,核心应用部署在核心区不能访问互联网,如果核心应用需要访问互联网,则可以使用正向代理的模式进行(当然这种场景nginx的正向代理并非唯一的解决手段);

3、透明代理几乎未使用过;

以root用户安装的原因
本文以root方式启动Nginx的安装。主要有以下原因:

1、Linux非root用户会阻止1024以下的端口启动,我们常用的80和443端口在这个模式下需要借助其它方式启动;

2、单独用作前端网页服务或者图片服务器时,如果网页和图片是放在非Nginx用户下的,则需要nginx配置文件配置user root(当然配置这个之后,使用非root用户能否启动暂时未验证过,后续若验证了可以补充)

另外,建议Nginx的生产服务器专门用作Nginx不要混合其它应用,这样服务器以root方式就显得比较合理。

安装步骤
以下操作为CentOS7版本的root下操作

读者可以直接复制命令到自己服务器即可完成安装

1、更新系统依赖包

yum -y update

yum group install -y “Development Tools”

yum -y install gcc gcc-c++ autoconf automake libtool make cmake

yum -y install patch zlib zlib-devel openssl openssl-devel pcre-devel

2、下载最新版本的nginx

cd /usr/local/src

wget -c http://nginx.org/download/nginx-1.17.8.tar.gz

tar zxvf nginx-1.17.8.tar.gz

3、添加组和用户

groupadd nginx

useradd -g nginx -M nginx

备注:useradd命令的-M参数用于不为nginx建立home目录修改/etc/passwd,使得nginx用户无法bash登陆(nginx用户后面由/bin/bash改为/sbin/nologin)

vi /etc/passwd

然后找到有 nginx 那一行,把它修改为(后面由/bin/bash改为/sbin/nologin):

4、编译和安装

cd /usr/local/src/nginx*

1)若只需要反向代理执行:

./configure --prefix=/usr/local/nginx --pid-path=/usr/local/nginx/run/nginx.pid --with-http_ssl_module --with-stream --user=nginx --group=nginx --with-pcre --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_realip_module

make & make install

如此安装即可完成了!

备注:

–with-stream表示带TCP/IP的

2)若正向代理、反向代理都需要

a、nginx安装

打ngx_http_proxy_connect_module模块的补丁:

备注:到github下载ngx_http_proxy_connect_module模块,就是直接去官网把整个目录下下来,解压放到你centos的某个目录下。

https://github.com/chobits/ngx_http_proxy_connect_module

写本帖20200221时,我也下载好了传到阿里云OSS上,也可以直接按照下面命令执行(如果需要更新的该模块,后面可以自己下载)。

最终按照按照/path/to/ngx_http_proxy_connect_module/这样的路径保存即可

mkdir -p /path/to/

cd /path/to/

wget https://jieyifile.oss-cn-hangzhou.aliyuncs.com/ngx_http_proxy_connect_module-master.zip

unzip ngx_http_proxy_connect_module-master.zip

mv ngx_http_proxy_connect_module-master ngx_http_proxy_connect_module

cd /usr/local/src/nginx*

patch -p1 < /path/to/ngx_http_proxy_connect_module/patch/proxy_connect.patch

备注:注意这个patch版本,官方有patch和nginx版本对应关系的

但是使用官方的版本进行补丁这行好像不对,patch -p1 < /path/to/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_101504.patch

之后在nginx的make时会报错,不知道为啥。所以还是用了上面这个补丁方式。后面安装的时候如果之后到答案再来补充认下
在这里插入图片描述
./configure --prefix=/usr/local/nginx --pid-path=/usr/local/nginx/run/nginx.pid --with-http_ssl_module --with-stream --add-module=/path/to/ngx_http_proxy_connect_module --user=nginx --group=nginx --with-pcre --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_realip_module

make & make install

如此nginx安装即可完成了,但是还需要安装OpenResty

备注:

–with-stream表示带TCP/IP的

–add-module=/path/to/ngx_http_proxy_connect_module 正向代理http和https使用的

b、OpenResty安装

cd

wget https://openresty.org/download/openresty-1.15.8.1.tar.gz

tar -zxvf openresty-1.15.8.1.tar.gz

cd openresty-1.15.8.1

./configure --add-module=/path/to/ngx_http_proxy_connect_module

patch -d build/nginx-1.15.8/ -p 1 < /path/to/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_101504.patch

make && make install

备注:注意这个patch版本,官方有patch和OpenResty版本对应关系的
在这里插入图片描述
大功告成!

5、验证安装是否完成

/usr/local/nginx/sbin/nginx -v

会弹出版本号

nginx version: nginx/1.17.8

输入网址:http://192.168.1.181

表示启动成功
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值