欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在 CentOS 中快速设置 PHP 7 和 Nginx 的协同工作环境

最编程 2024-02-20 22:04:45
...

前言


一、PHP + Nginx介绍

PHP + Nginx 是一个目前非常流行的PHP在Web方向上面的搭配方案,今天本文就系统讲解一下怎么来配置。基于Linux Centos系统来演示。

PHP 是一种广泛使用的服务器端脚本语言,常用于开发动态网页和 Web 应用程序。与之配合使用的 web 服务器软件有很多,其中一个非常流行的选择是 Nginx。

二、安装步骤

2.1 安装和启动 Nginx

sudo yum install nginx -y   # 安装 nginx
sudo systemctl start nginx  # 启动 nginx

2.2 安装 PHP7

可以通过 yum 安装 PHP7:

sudo yum install epel-release -y
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install yum-utils -y
sudo yum-config-manager --enable remi-php70
sudo yum update -y
sudo yum install php php-fpm php-mysqlnd php-zip php-gd php-mbstring php-mcrypt php-xml php-json -y

2.3 配置 PHP-FPM

编辑 /etc/php-fpm.d/www.conf 文件,修改以下参数:

user = nginx
group = nginx
listen = /run/php-fpm/php-fpm.sock

确保以下两行代码没有被注释:

pid = /run/php-fpm/php-fpm.pid
error_log = /var/log/php-fpm/error.log

重启 php-fpm:

sudo systemctl restart php-fpm

2.4 配置 Nginx

创建一个新的配置文件 /etc/nginx/conf.d/default.conf,将以下代码复制进去:

server {
   
    listen       80;
    server_name  example.com;  # 将 example.com 替换为自己的域名或 IP 地址

    # 静态文件缓存默认过期时间
    expires 7d;

    # 静态文件缓存目录配置
    location ~* \.(?:css|js|png|gif|jpe?g|svg|woff|woff2|ttf|eot|ico)$ {
   
        access_log    off;  # 禁用日志
        add_header    Cache-Control "public, max-age=604800, immutable";  # 缓存配置
        add_header    X-Frame-Options "SAMEORIGIN";
        expires       7d;
        try_files     $uri =404;
    }

    # PHP 配置
    location ~ \.php$ {
   
        fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
        fastcgi_param  HTTP_PROXY  "";
        include        fastcgi_params;
    }

    # 静态文件代理
    location / {
   
        proxy_pass      http://127.0.0.1:8080;  # 将 8080 替换为自己的端口号
        proxy_set_header    Host $http_host;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

修改 server_name 和 fastcgi_param 参数,确保它们匹配您的域名或 IP 地址和 PHP 安装位置。

重启 Nginx:

sudo systemctl restart nginx

2.5 测试

在 /usr/share/nginx/html 目录下创建一个 PHP 文件 index.php,并将以下代码粘贴到文件中:

<?php
phpinfo();
?>

在浏览器中访问您的域名或 IP 地址,应出现 PHP 信息页面,表示已成功设置 PHP7 + Nginx 环境。

三、补充,为什么PHP用来搭配Nginx

以下是 PHP 为何要与 Nginx 搭配的几个原因:

  • 高性能:Nginx 是一个高性能的 web 服务器,以其高并发能力和低内存消耗而著名。与 Apache 相比,Nginx 可以处理更多的并发请求,并且在负载较高的情况下表现良好。这使得它成为 PHP 的一个理想选择,尤其是在处理大量访问量的网站时。

  • 轻量级:Nginx 是一个轻量级的 web 服务器,它的代码设计简洁,占用资源少,启动速度快。与相对来说较重的 Apache 相比,Nginx 能够更有效地利用服务器的硬件资源,提供更好的性能和响应时间。

  • 可扩展性:Nginx 提供了强大的扩展性和可定制性。它支持模块化的架构,可以方便地添加或删除模块,从而满足不同的需求。这样,你可以根据 PHP 应用程序的具体要求,灵活地配置 Nginx,以提供最佳的性能和功能。

  • 反向代理和负载均衡:Nginx 提供了反向代理和负载均衡的功能,可以将请求转发给 PHP-FPM(FastCGI 进程管理器),从而分摊 PHP 的负载和提高应用程序的性能。这对于处理大量并发请求以及应对突发流量非常有用。

  • 安全性:Nginx 以其强大的安全性而闻名。它具有许多内置的安全功能,如防止 DoS 攻击、DDoS 攻击和恶意 BOT 爬虫等。通过与 Nginx 搭配使用,可以增强 PHP 应用程序的安全性,并提供一定程度的保护。

    总结

    以上就是今天要讲的内容,CentOS 中搭建 PHP7 + Nginx 运行环境。喜欢记得关注哟。更多精彩,即将呈现。