HCRM博客

CentOS系统下如何正确安装Nginx与PHP?

在CentOS系统上安装Nginx和PHP是一个常见的任务,特别是在搭建Web服务器时,以下是一个详细的步骤指南,包括安装、配置和测试的全过程。

一、更新系统

确保你的CentOS系统是最新的,打开终端并运行以下命令:

CentOS系统下如何正确安装Nginx与PHP?-图1
(图片来源网络,侵权删除)
  • sudo yum update y

二、安装Nginx

1. 安装EPEL仓库(如果Nginx不在默认仓库中)

  • sudo yum install epelrelease y

2. 安装Nginx

  • sudo yum install nginx y

3. 启动Nginx并设置开机自启

  • sudo systemctl start nginx
  • sudo systemctl enable nginx

4. 检查Nginx服务状态

  • sudo systemctl status nginx

5. 配置防火墙(如果启用了防火墙)

对于firewalld:

CentOS系统下如何正确安装Nginx与PHP?-图2
(图片来源网络,侵权删除)
  • sudo firewallcmd addservice=http permanent
  • sudo firewallcmd reload

对于iptables,请根据实际情况配置规则以允许TCP 80端口。

三、安装PHP和PHPFPM

1. 安装EPELRemi仓库

  • sudo yum install epelrelease y
  • sudo yum install http://rpms.remirepo.net/enterprise/remirelease7.rpm y

2. 安装PHP及其扩展

  • sudo yum install php phpfpm phpmysqlnd phpzip phpgd phpmbstring phpmcrypt phpxml phpjson y

3. 启动PHPFPM并设置开机自启

  • sudo systemctl start phpfpm
  • sudo systemctl enable phpfpm

4. 修改PHPFPM配置文件

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

CentOS系统下如何正确安装Nginx与PHP?-图3
(图片来源网络,侵权删除)
  • user = nginx
  • group = nginx
  • listen = /run/phpfpm/phpfpm.sock

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

  • pid = /run/phpfpm/phpfpm.pid
  • error_log = /var/log/phpfpm/error.log

5. 重启PHPFPM

  • sudo systemctl restart phpfpm

四、配置Nginx解析PHP

1. 创建一个新的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 CacheControl "public, maxage=604800, immutable"; # 缓存配置
  • add_header XFrameOptions "SAMEORIGIN";
  • expires 7d;
  • try_files $uri =404;
  • }
  • # PHP 配置
  • location ~ \.php$ {
  • fastcgi_pass unix:/run/phpfpm/phpfpm.sock;
  • fastcgi_index index.php;
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  • include fastcgi_params;
  • }
  • # 静态文件代理
  • location / {
  • proxy_pass http://127.0.0.1:8080; # 将8080替换为你的实际端口号
  • proxy_set_header Host $http_host;
  • proxy_set_header XRealIP $remote_addr;
  • proxy_set_header XForwardedFor $proxy_add_x_forwarded_for;
  • }
  • }

2. 重启Nginx

  • sudo systemctl restart nginx

五、测试配置

/usr/share/nginx/html目录下创建一个PHP文件info.php,并将以下内容复制进去:

  • <?php
  • phpinfo();
  • ?>

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

六、相关FAQs问答

Q1:如何更改Nginx服务器的监听端口?

A1: 要更改Nginx服务器的监听端口,可以编辑Nginx配置文件(通常是/etc/nginx/nginx.conf),找到listen指令并将其值更改为所需的端口号,要将监听端口更改为8080,可以将listen 80;改为listen 8080;,然后保存文件并重启Nginx服务:

  • sudo systemctl restart nginx

还需要确保防火墙允许新的端口号通过。

Q2:如何在Nginx中配置SSL证书?

A2: 要在Nginx中配置SSL证书,你需要执行以下步骤:

1、确保你拥有有效的SSL证书和私钥文件,这些文件由证书颁发机构(CA)提供。

2、将SSL证书和私钥文件上传到服务器的一个安全位置,例如/etc/nginx/ssl/目录。

3、编辑Nginx配置文件(例如/etc/nginx/nginx.conf或特定站点的配置文件),在相应的server块中添加SSL配置。

  • server {
  • listen 443 ssl;
  • server_name example.com;
  • ssl_certificate /etc/nginx/ssl/your_domain.crt;
  • ssl_certificate_key /etc/nginx/ssl/your_domain.key;
  • # 其他配置...
  • }

your_domain.crtyour_domain.key替换为你的SSL证书和私钥文件的实际路径,如果你的证书是由CA签名的,并且你有中间证书,你还需要指定ssl_trusted_certificate指令来包含中间证书。

  • ssl_trusted_certificate /etc/nginx/ssl/intermediate.crt;

4、保存配置文件并重启Nginx服务以应用更改:

  • sudo systemctl restart nginx

你的Nginx服务器应该可以通过HTTPS(使用SSL/TLS)进行访问了,确保在浏览器中访问你的网站时使用https://前缀。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18758.html

分享:
扫描分享到社交APP
上一篇
下一篇