CentOS7如何安装Nginx

1、Nginx(engine x)

是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

2、Nginx的应用场景

1)反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端。

2)负载均衡

网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。

nginx 的 upstream目前支持 5 种方式的分配

1
2
3
4
5
6
7
8
9
10
轮询(默认) 
 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
weight 
 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
ip_hash 
 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。  
fair(第三方) 
 按后端服务器的响应时间来分配请求,响应时间短的优先分配。  
url_hash(第三方)
用HAproxy的loadbalance uri或者nginx的upstream_hash模块,都可以做到针对url进行哈希算法式的负载均衡转发。

3)HTTP服务器
Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器。

3、安装过程

1.检查并安装所需的依赖软件 

1).gcc:nginx编译依赖gcc环境   

1
[root@localhost ~]# yum install gcc-c++

2).pcre:(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式.   

1
[root@localhost ~]# yum install -y pcre pcre-devel

3).zlib:该库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip。   

1
[root@localhost ~]# yum install -y zlib zlib-devel

4).openssl:一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http).   

1
[root@localhost ~]# yum install -y openssl openssl-devel

2.下载nginx源码包
1
[root@localhost ~]# wget http://nginx.org/download/nginx-1.14.2.tar.gz

1.解压源码包

1
[root@localhost ~]# tar -zxvf nginx-1.14.2.tar.gz

2.创建 /var/temp目录,(编译的时候会用到)

1
[root@localhost ~]# mkdir /var/temp

3.进入到nginx目录

1
[root@localhost ~]# cd nginx-1.14.2

4.配置编译参数命令–(可以使用./configure –help查询详细参数)

1
2
3
4
5
6
7
8
9
10
11
12
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/temp/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

5.编译并安装

1
[root@localhost ~]# make && make install

进入/usr/local/nginx检查是否存在conf、sbin、html文件夹,若存在则表示安装成功

install_nginx

4、启动、基本使用

1、启动

进入启动目录

1
[root@localhost ~]# cd /usr/local/nginx/sbin

启动

1
[root@localhost sbin]#./nginx

查看是否启动

1
ps -ef | grep nginx

若显示下图则为启动成功(master进程和worker进程)
start_nginx

测试访问(如本机可访问外网访问不了,需要将本机80端口打开)

test

2、停止、重启

等nginx进程处理任务完毕进行停止

1
cd /usr/local/nginx/sbin && ./nginx -s quit

先停止再启动

1
./nginx -s quit && ./nginx

重新加载配置文件

1
./nginx -s reload

测试配置文件是否正常

1
./nginx -t

结果如下图则配置文件正常

test

Nginx已经部署成功了,还有很多有趣的模块可以添加,待以后慢慢研究吧。

flower

-------------------------The End-------------------------
0%