Ubuntu 24.04 配置 nginx + php-fpm

nginx 是一个流行的 web 服务器,以其速度和可靠性而闻名,被许多顶级网站使用。要用 PHP 运行网站,您需要设置 php-fpm,nginx 与 php-fpm 一起处理 PHP 文件并将其显示给用户,帮助网站更快地加载并处理更多流量。

本教程将帮助您在 ubuntu 24.04 系统上安装和配置 NGINX 和 PHP-FPM,创建虚拟主机并使用 Let ' s Encrypt SSL 启用 HTTPS 来保护您的网站。

Step 1: Update Your System

首先,我们需要确保你的系统是最新的。

复制代码
sudo apt update
sudo apt upgrade -y

Step 2: Install NGINX Server

现在,让我们安装 NGINX web 服务器,遵循以下步骤:

(1) 安装 nginx

复制代码
sudo apt install nginx

(2) 启动 nginx 服务

复制代码
sudo systemctl start nginx

(3) 设置 nginx 开机启动

复制代码
sudo systemctl enable nginx

(4) 检查 nginx 服务状态

复制代码
sudo systemctl status nginx

Step 3: Install PHP-FPM

按照以下步骤安装 PHP-FPM

(1) 安装 php-fpm

复制代码
sudo apt install php-fpm

(2) 启动 php-fpm 服务

复制代码
sudo systemctl start php-fpm

(3) 设置 php-fpm 开机启动

复制代码
sudo systemctl enable php-fpm

(4) 检查 php-fpm 服务状态

复制代码
sudo systemctl status php-fpm

Step 4: Configure NGINX to Use PHP-FPM

让我们为您的网站创建一个新的主机文件并将其配置为使用 PHP-FPM

(1) 切换到 NGINX sites-available 目录

复制代码
cd /etc/nginx/sites-available/

(2) 为网站创建一个新的配置文件,将"example.com"替换为您的实际域名。

复制代码
sudo nano /etc/nginx/sites-available/example.com

(3) 将以下配置添加到文件中,确保将"example.com"替换为您的实际域名。

nginx 复制代码
server {
  listen 80;
  server_name example.com www.example.com;

  root /var/www/html/example.com;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ =404;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }

  location ~ /\.ht {
    deny all;
  }
}

保存并退出配置文件

为您的网站创建文档根目录

复制代码
sudo mkdir -p /var/www/html/example.com

将目录的所有权分配给当前用户

复制代码
sudo chown -R $USER:$USER /var/www/html/example.com

设置目录权限

复制代码
sudo chmod -R 755 /var/www/html/example.com

创建一个简单的 PHP 文件来测试您的配置

复制代码
nano /var/www/html/example.com/index.php

将以下行添加到 index.php 文件中,保存并退出。

php 复制代码
<?php phpinfo(); ?>

把网站 example.com 的配置文件软连接到 sites-enabled 目录

复制代码
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

测试 NGINX 配置是否有语法错误

复制代码
sudo nginx -t

如果测试成功,重新加载 NGINX 以应用更改

复制代码
sudo systemctl reload nginx

打开您的 Web 浏览器,然后访问 http//example.com 您应该可以看到" PHP Info"页面,这意味着您的 NGINX 服务器已正确配置为使用 PHP-FPM。

Step 5: Secure Your Website with Let's Encrypt SSL

要使用 HTTPS 保护您的网站,您可以使用 Let ' s Encrypt SSL,请遵循以下步骤:

(1) 安装 Certbot

复制代码
sudo apt install certbot python3-certbot-nginx

(2) 运行 Certbot 获取并安装 SSL 证书,按照提示完成安装。

复制代码
sudo certbot --nginx

(3) 通过运行演练来验证 Certbot 自动更新

复制代码
sudo certbot renew --dry-run

我的开源项目

相关推荐
这儿有一堆花1 小时前
Nginx服务器集群:横向扩展与集群解决方案
运维·服务器·nginx
kfepiza2 小时前
NetworkManager配置网桥(bridge)虚拟网络(vlan) 笔记250711
linux·tcp/ip·ubuntu
饶了我吧,放了我吧2 小时前
计算机网络实验——以太网安全实验
计算机网络·安全·php
wkj0013 小时前
php中调用对象的方法可以使用array($object, ‘methodName‘)?
android·开发语言·php
wkj0013 小时前
php use 命名空间与 spl_autoload_register的关系
android·php·android studio
weixin_443290693 小时前
【云服务器安全相关】堡垒机、WAF、防火墙、IDS 有什么区别?
服务器·安全·php
OKUNP14 小时前
Docker高级管理--容器通信技术与数据持久化
docker·容器·php
hunzi_114 小时前
搭建商城系统
java·uni-app·php
小宋00118 小时前
在Ubuntu上安装配置 LLaMA-Factory
ubuntu·计算机视觉
kfepiza19 小时前
Netplan 配置网桥(Bridge)的模板笔记250711
linux·tcp/ip·ubuntu