欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS7安装Nginx-1.16

程序员文章站 2024-02-22 11:47:04
...

CentOS7安装Nginx-1.16

Nginx是一个高性能的Web和反向代理服务器,它具备以下特性:

  • 作为Web服务器:Nginx使用更少的资源,支持更多并发连接,能够支持高达5万个并发连接数响应;
  • 作为负载均衡服务器:内部直接支持Rails和PHP,可以作为 HTTP代理服务器对外进行服务。使用C语言编写,在系统资源开销或CPU使用效率都比Perlbal好得多;
  • 作为邮件代理服务器
  • 配置简洁、启动快、能够长时间运行,且在不间断的情况下进行软件版本升级;

但更多时候,Nginx用作于网关,因为它具备网关的功能:

  • 反向代理
  • 负载均衡
  • 动态路由
  • 请求过滤

1. windows安装

在windows中使用nignx非常简单,只需下载解压即可。

Nginx的目录结构

  1. conf:配置目录;
  2. contrib:第三方依赖;
  3. html:默认的静态资源目录,类似于tomcat的webapps;
  4. logs:日志目录;
  5. nginx.exe:启动程序,建议使用cmd进行启动;

在Nginx目录下,CMD窗口下,使用Nginx操作命令:

  • 启动:start nginx.exe
  • 停止:nginx.exe -s stop
  • 重新加载:nginx.exe -s reload

反向代理配置

什么是反向代理?

  • 代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。
  • 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。

如何在Nginx配置代理服务器的信息呢?在Nginx安装包,conf目录下的nginx.conf配置文件,添加如下配置:

server {
    listen       80;					# 监听端口
    server_name  manage.chan.com;		# 监听的域名

    # 头信息,相当于请求中的头信息
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    location / {							# 请求映射规则
        proxy_pass http://127.0.0.1:8888;	# 目标服务器地址
        proxy_connect_timeout 600;			# Nginx与目标服务器连接超时时间
        proxy_read_timeout 600;				# 连接成功后,目标服务器响应时间
    }
}

上面的配置说明:Nginx监听到域名manage.chan.com,会将这类域名的请求转发到http://127.0.0.1:8888这个地址。注意location后的/,这个符号表示拦截域名下的所有请求,如果你想拦截某个或者某类请求时,可以修改它。比如:/api/表示拦截http://127.0.0.1:8888/api/下的所有请求。

2. 配置监听多个域名

如果Nginx反向代理多个服务器,在配置文件中配置多个server配置,并配置相应的代理信息即可。

3. CentOS7安装

  1. nginx依赖包安装;
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
  1. 解压安装包;
tar -zxvf nginx-1.16.1.tar.gz
  1. **添加fastdfs-nginx-module模块到nginx;**存在这步骤是因为,我在安装FastDFS的时候安装的Nginx,如果大家只是安装Nginx,可自行搜索是否需要(道个歉)。
./configure --prefix=/usr/local/nginx/ --add-module=/usr/local/fastdfs-nginx-module-1.22/src
  1. 编译、安装nginx;
make
make install
  1. 检查是否安装成功;
cd /usr/local/nginx/sbin/

./nginx -V
  1. 设置开机自启动;参考nginx官方文档
vim /etc/init.d/nginx

# 修改以下内容:注意跟自己的nginx路径一致
nginx="/usr/local/nginx/sbin/nginx"

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
# 保存退出

chmod 755 /etc/init.d/nginx 

# 测试使用脚本启动、停止nginx
/etc/init.d/nginx stop

# 如果OK,加入chkconfig管理列表,并设置开机启动
chkconfig --add /etc/init.d/nginx
chkconfig nginx on

# nginx管理命令
service nginx start
service nginx stop
service nginx restart

nginx安装成功。