vlambda博客
学习文章列表

Nginx 服务的搭建与配置

1、系统环境

OS: CentOS Linux release 7.5.1804 (Core)

2、关闭 selinux

1)修改 selinux 的配置文件

[[email protected] ~]# vim /etc/selinux/config

将内容中的SELINUX=enforcing修改为SELINUX=disabled

2)关闭 selinux

[[email protected] ~]# setenforce 0
[[email protected] ~]# reboot
[[email protected] ~]# sestatus
SELinux status: disabled

3、关闭防火墙

[[email protected] ~]# systemctl stop firewalld.service

4、安装 epel 源

[[email protected] ~]# yum -y install epel-release.noarch

5、设置 nginx 安装源

1)安装官方提供 centos 安装 nginx 源

[[email protected] ~]# rpm -Uvh
http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-
0.el7.ngx.noarch.rpm

2)手动添加 nginx 安装源

[[email protected] ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

6、安装 Nginx

通过yum search nginx看看是否已经添加源成功。如果成功则执行下列命令安装Nginx。

[[email protected] ~]# yum install -y nginx

7、启动 Nginx并设置开机自动运行

[[email protected] ~]# systemctl start nginx.service
[[email protected] ~]# systemctl enable nginx.service

8、配置 Nginx

1)Nginx 的主配置文件

[[email protected] ~]# vim /etc/nginx/nginx.conf

2)Nginx 配置支持 PHP

Nginx 服务的搭建与配置

在 /etc/nginx/conf.d 目录下存放着多个配置文件 这些配置项会在Nginx运行时加载到主配置项目 中(类似虚拟机) Nginx是通过php-fpm来通讯的,所以需要监听9000端口。在这个目录下生成一个自己的配置文件例如 admin.conf

[[email protected] ~]# vim /etc/nginx/conf.d/admin.conf

写入以下内容

server {
    listen 80; #端口
    server_name admin1.test.com admin.test.com ; # 域名
    root /var/www/card/public; # 网站根目录
    index index.php index.html index.htm;
    location / {
       if (!-e $request_filename) {
           rewrite ^(.*)$ /index.php?s=/$1 last; #主要配置隐藏url中index.php
           break;
       }
    }
    location ~ \.php$ {
        #root /var/www/card/public;
       fastcgi_pass 127.0.0.1:9000;
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include fastcgi_params;
    }
}

3)Nginx 配置反向代理

upstream test{
    server 192.168.68.43:8080 weight=1;
    server 192.168.68.44:8080 weight=1;
}
server {
    listen 80;
    server_name porxy.zxy.com;
  
    location / {
       proxy_pass # 这里可直接写IP地址进行配置 如果需要配置负载均衡 可以使用
http://test 和upstream名称一致
        # 以下是一些反向代理的配置可删除
        proxy_redirect off;
        proxy_set_header Host $host# 指定请求的服务器的域名和端口号
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for# 后端的
Web服务器可以通过X-Forwarded-For获取用户真实IP
        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服务器传
    }
}


推荐阅读