Centos安装Nginx

Posted 唱安逸

tags:

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

nginx的简介

      Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。

Nginx的常用功能

1、反向代理
      这是 Nginx 作为 Web 服务器的主要功能之一。客户端向服务器发送请求时,首先会经过 Nginx 服务器,由服务器将请求分发到相应的 Web 服务器;正向代理是代理客户端,而反向代理则是代理服务器;Nginx 在提供反向代理服务方面,通过使用正则表达式进行相关配置,采取不同的转发策略,配置相当灵活,而且在配置后端转发请求时,不需要关心网络环境,可以指定任意的IP地址和端口号,或其他类型的连接、请求等。
2、负载均衡
      这也是 Nginx 最常用的功能之一,负载均衡,一方面是将单一的重负载分担到多个网络节点上做并行处理,每个节点处理结束后将结果汇总返回给用户,这样可以大幅度提高网络系统的处理能力;另一方面将大量的前端并发请求或数据流量分担到多个后端网络节点分别处理,这样可以有效减少前端用户等待相应的时间。而 Nginx 负载均衡都是属于后一方面,主要是对大量前端访问或流量进行分流,已保证前端用户访问效率,并可以减少后端服务器处理压力。
3、Web缓存
      在很多优秀的网站中,Nginx 可以作为前置缓存服务器,它被用于缓存前端请求,从而提高 Web服务器的性能。Nginx 会对用户已经访问过的内容在服务器本地建立副本,这样在一段时间内再次访问该数据,就不需要通过 Nginx 服务器向后端发出请求。减轻网络拥堵,减小数据传输延时,提高用户访问速度。

Nginx的安装

Nginx下载地址:http://nginx.org/en/download.html

      开发版本主要用于 Nginx 软件项目的研发,稳定版本说明可以作为 Web 服务器投入商业应用。在这里我选择的是稳定版:nginx-1.20.1

安装依赖包并创建用户

[root@localhost ~]# yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
[root@localhost ~]# useradd  -M  -s /sbin/nologin nginx

解压nginx包

[root@localhost ~]# tar xf nginx-1.20.1.tar.gz

进入nginx目录并开始编译

[root@localhost ~]# cd nginx-1.20.1/
[root@localhost nginx-1.20.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-stream --with-pcre --with-http_stub_status_module;make;make install

优化执行路径

[root@localhost ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

启动nginx

[root@localhost ~]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx
[root@localhost sbin]# netstat -lnpt | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7330/nginx: master  

访问80端口

设定nginx开机自启—自行修改脚本中的安装路径

[root@localhost ~]# vim /etc/init.d/nginx

#!/bin/bash
# chkconfig: - 99 20
# description: nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
  start)
        $PROG
        ;;
  stop)
        kill -s QUIT $(cat $PIDF)
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  reload)
        kill -s HUP $(cat $PIDF)
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|reload}"
        exit 1
esac
exit 0

[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[root@localhost ~]# systemctl enable nginx && systemctl start nginx

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

centos7环境下安装nginx

在CentOS上安装nginx

CentOS7 安装nginx部署vue项目

安装Nginx(CentOS6.6+nginx-1.6.3)

CentOS 7中Nginx1.9.5编译安装教程systemctl启动

基于CentOS 6.8平台最新源代码包编译安装LNMP环境搭建(Nginx+MySQL+PHP)