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
在 /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服务器传
}
}
推荐阅读