安装Nginx并配置反向代理指南

一、简介
Nginx是一个高性能的开源Web服务器软件,也可以用作反向代理、负载均衡等其他用途。以下是关于Nginx的一些重要特点和用途,以及为什么要使用Nginx的原因:

高性能和高并发能力:Nginx采用了异步非阻塞的事件驱动架构,能够处理大量并发请求,并具有较低的内存消耗。这使得它能够处理高流量和高负载的网站和应用程序,提供出色的性能和响应速度。

负载均衡:Nginx具有内置的负载均衡功能,可以将流量分发到多个后端服务器,以提高系统的可靠性和可扩展性。通过负载均衡,可以确保每个服务器能够平均分担负荷,避免单个服务器的过载问题。

反向代理:Nginx可以作为反向代理服务器,接收客户端请求,并将其转发到被代理的后端服务器。反向代理可以隐藏真实的服务器IP地址,提供更高的安全性,并在多个后端服务器之间均衡负载。

静态文件服务:Nginx通过快速高效地提供静态文件服务,可以显著减轻后端应用服务器的负载。它可以处理静态文件的请求,如HTML、CSS、JavaScript、图片等,减少了额外的服务器资源消耗。

缓存功能:Nginx支持缓存静态和动态内容,可以缓存经常访问的资源,提高用户的访问速度,并减轻后端服务器的负载。这对于处理大量的并发请求和频繁访问的内容非常有用。

可扩展性和模块化:Nginx具有丰富的模块化架构,使其可以根据需要进行扩展和定制。通过添加适当的模块,可以实现额外的功能和扩展,满足不同的需求。

二、安装
本次安装方式使用的是源码安装:

# 关闭防火墙和内核安全机制
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
 
# 安装所需的工具和依赖
[root@localhost ~]# yum -y install vim wget net-tools gcc make openssl openssl-devel pcre-devel zlib zlib-devel
 
# 下载并解压缩 Nginx(Ng版本可以自行选择)
[root@localhost ~]# wget http://nginx.org/download/nginx-1.9.12.tar.gz
[root@localhost ~]# tar zxf nginx-1.9.12.tar.gz
 
# 进入解压后的 Nginx 目录
[root@localhost ~]# cd nginx-1.9.12
 
# 配置和安装 Nginx
[root@localhost ~]# ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module
[root@localhost ~]# make && make install
 
# 启动 Nginx 服务
[root@localhost ~]# /usr/local/nginx/sbin/nginx
 
# 查看进程
[root@localhost ~]# netstat -tnpl
[root@localhost ~]# ps -ef | grep nginx

/usr/local/nginx/sbin/nginx:启动 Nginx 服务。这将启动 Nginx Web 服务器。

ps -ef | grep nginx:使用 ps 和 grep 命令查找正在运行的 Nginx 进程。

netstat -tnpl:使用 netstat 命令显示正在监听的网络端口和相关进程。

IP+端口号(默认80)访问:

能看到如上信息就表示Ng已经安装成功了。

三、反向代理配置
找到nginx.conf配置文件,在里面添加一行:

# 在http模块里面添加一行
 
include /etc/nginx/conf.d/*.conf;
在Nginx的配置文件中,include /etc/nginx/conf.d/*.conf;是一个指令,用于包含指定目录下的所有.conf文件。

具体解释如下:

include指令:在Nginx配置文件中,include指令用于将其他配置文件或配置片段包含到当前配置文件中。

/etc/nginx/conf.d/:这是一个目录路径,表示Nginx配置文件所在的目录。通常,该目录用于存放要包含的子配置文件。

.conf:这是一个通配符,表示匹配目录下所有以.conf为扩展名的文件。因此,include /etc/nginx/conf.d/.conf;指示Nginx包含该目录下的所有.conf文件

  1. mkdir -p /etc/nginx/conf.d

  2. cd /etc/nginx/conf.d

  3. vim kqkq.test.conf

只是做个域名而已,如果没有什么特殊要求,直接复制下面的模板就行:

[root@oa-e9prd-ssl conf]# cat nginx.conf
user  root;
worker_processes  8;
error_log  logs/error.log;
pid        logs/nginx.pid;
events {
    worker_connections  20480;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    sendfile           on;
    keepalive_timeout  65;
    tcp_nopush         on;
    tcp_nodelay        on;
    gzip               on;
    gzip_http_version  1.0;
    gzip_comp_level    9;
    gzip_min_length    1024;
    gzip_proxied       any;
    gzip_vary          on;
    gzip_disable       msie6;
    gzip_buffers       64 8k;
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json;
    client_body_timeout             300;
    client_body_in_single_buffer    on;
    client_body_buffer_size         300m;
    client_header_buffer_size       8k;
    client_header_timeout           300;
    client_max_body_size            300m;
    large_client_header_buffers     4 32k;
    server {
       listen 443 ssl;
       server_name oa.my.com;
       ssl_certificate  /opt/nginx/conf/cert/_.my.com_chain.crt;  #证书公钥
       ssl_certificate_key /opt/nginx/conf/cert/my.com(Wildcard).key;    #证书私钥
       ssl_session_timeout 5m;
       ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!3DES:!aNULL:!MD5:!ADH:!RC4;
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_prefer_server_ciphers on;

        location / {
            proxy_pass http://172.198.0.209:30501;
        }


    }
}

[root@oa-e9prd-ssl conf]

注意:复制此示例模板需要修改以下三个地方:

域名:把原有的my.com替换为自己的域名。
SSL证书:证书名称和路径按自己实际情况修改。
IP+端口:把原有的172.198.0.209:30501替换为自己想要代理的IP+端口。
完事了记得重启:/usr/local/nginx/sbin/nginx -s reload

  • 32
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值