Nginx安装

Posted 神游坐忘峰大话IT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx安装相关的知识,希望对你有一定的参考价值。

01


Nginx代理模式简介



nginx的几种代理模式:正向代理、反向代理、透明代理。

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

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

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

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

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




02


以root用户安装的原因



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

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

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


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




03


安装步骤






以下操作为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版本对应关系的

Nginx安装

大功告成!


5、验证安装是否完成

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

会弹出版本号

nginx version: nginx/1.17.8


输入网址:http://192.168.1.181

表示启动成功

Nginx安装




关于几种模式的配置文件的配置例子以及使用postman、JAVA等代码的写法,在后续帖子当中补充。

固定布局                                                        
工具条上设置固定宽高
背景可以设置被包含
可以完美对齐背景图和文字
以及制作自己的模板






神游坐忘峰大话IT

以上是关于Nginx安装的主要内容,如果未能解决你的问题,请参考以下文章

如何使用yum安装nginx

想安装nginx,应该怎么做

nginx 编译安装详解

win7 怎样安装nginx?

windows下nginx安装配置后怎么使用

nginx安装和常见的配置