nginx是 HTTP 和反向代理服务器,邮件(IMAP/POP3/SMTP)代理服务器和通用 TCP/UDP 代理服务器。是俄罗斯人Igor Sysoev编写的轻量级Web服务器。

第一种方式

1. 官网下载地址

http://nginx.org/en/download.html

2. 上传到服务器安装

2.1 检查是否安装以下软件包

gcc pcre-devel zlib-devel openssl openssl-devel

yum list installed | grep "软件名或者包名"

2.2 安装

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

2.3 安装nginx

1. 解压
    tar -zxvf nginx-1.18.0.tar.gz
2. 进入nginx
    cd nginx-1.18.0
3. 配置
    ./configure --prefix=/usr/local/nginx-1.18.0
4. make
    make
    make install

3. 启动&停止

./sbin/nginx
./sbin/nginx -s reload
./sbin/nginx -s stop

其它命令

  • 以特定目录下的配置文件启动:nginx -c /特定目录/nginx.conf
  • 重新加载配置:nginx -s reload 执行这个命令后,master进程会等待worker进程处理完当前请求,然后根据最新配置重新创建新的worker进程,完成Nginx配置的热更新。
  • 立即停止服务:nginx -s stop
  • 从容停止服务:nginx -s quit 执行该命令后,Nginx在完成当前工作任务后再停止。
  • 检查配置文件是否正确:nginx -t
  • 检查特定目录的配置文件是否正确:nginx -t -c /特定目录/nginx.conf
  • 查看版本信息:nginx -v

4. nginx.conf配置实例

centos7设置代理服务器 centos7 代理服务器_centos7设置代理服务器

 nginx配置实例及多服务器负载

第二种方式

1、安装epel包

sudo yum install epel-release

epel-release会自动配置yum的软件仓库

2、再次安装nginx

yum install -y nginx

安装好后,直接用systemctl启动nginx服务

systemctl enable nginx  #设置nginx为开机启动
systemctl start nginx  #启动nginx服务
vim /etc/nginx/conf.d/default.conf #打开default.conf复制下面的代码
#负责压缩数据流
gzip              on;
gzip_min_length   1000;
gzip_types        text/plain text/css application/x-javascript;

#设定负载均衡的服务器列表
#weigth参数表示权值,权值越高被分配到的几率越大
upstream hello{
    server 192.168.231.134:8089 weight=1;
    server 192.168.231.134:8088 weight=1;
}

server {
    #侦听的80端口
    listen       80;
    server_name  localhost;
    #设定查看Nginx状态的地址
    location /nginxstatus{
         stub_status on;
         access_log on;
         auth_basic "nginxstatus";
         auth_basic_user_file htpasswd;
    }
    #匹配以jsp结尾的,tomcat的网页文件是以jsp结尾
    location / {
        index index.jsp;
        proxy_pass   http://hello;    #在这里设置一个代理,和upstream的名字一样
        #以下是一些反向代理的配置可删除
        proxy_redirect             off;
        #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
        proxy_set_header           Host $host;
        proxy_set_header           X-Real-IP $remote_addr;
        proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size       10m; #允许客户端请求的最大单文件字节数
        client_body_buffer_size    128k; #缓冲区代理缓冲用户端请求的最大字节数
        proxy_connect_timeout      300; #nginx跟后端服务器连接超时时间(代理连接超时)
        proxy_send_timeout         300; #后端服务器数据回传时间(代理发送超时)
        proxy_read_timeout         300; #连接成功后,后端服务器响应时间(代理接收超时)
        proxy_buffer_size          4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
        proxy_buffers              4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
        proxy_busy_buffers_size    64k; #高负荷下缓冲大小(proxy_buffers*2)
        proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    }
}