香港VPS服务器环境配置LNMP教程详解

香港VPS服务器上搭建LNMP(Linux、Nginx、MySQL、PHP)环境,可以高效支持动态网站、博客、在线商城等多种应用场景。

---

 

## **一、LNMP环境简介**

 

- **Linux**:操作系统,常用的版本包括 CentOS、Ubuntu 和 Debian。

- **Nginx**:高性能的Web服务器,广泛用于处理高并发请求。

- **MySQL**:关系型数据库管理系统,用于存储网站数据。

- **PHP**:服务器端脚本语言,用于处理动态内容。

 

LNMP 是轻量、高效的服务器架构,特别适合中小型网站和高并发场景。

 

---

 

## **二、准备工作**

 

### **1. 获取香港VPS服务器**

- 确保已购买香港VPS服务器(可以选择 CentOS 7/8、Ubuntu 20.04 或 Debian 11 系统)。

- 通过 SSH 远程登录到服务器,建议使用工具如 **PuTTY** 或 **Termius**。

 

### **2. 更新系统**

确保系统是最新版本,使用以下命令更新软件包:

 

```bash

sudo apt update && sudo apt upgrade -y   # Ubuntu/Debian 系统

sudo yum update -y                      # CentOS 系统

```

 

---

 

## **三、安装 LNMP 环境**

 

### **步骤1:安装 Nginx**

 

1. **安装 Nginx**

   根据操作系统选择以下命令安装:

 

   - **Ubuntu/Debian:**

     ```bash

     sudo apt install nginx -y

     ```

 

   - **CentOS:**

     ```bash

     sudo yum install epel-release -y

     sudo yum install nginx -y

     ```

 

2. **启动 Nginx 服务**

   ```bash

   sudo systemctl start nginx

   sudo systemctl enable nginx

   ```

 

3. **检查 Nginx 是否正常运行**

   - 使用以下命令查看状态:

     ```bash

     sudo systemctl status nginx

     ```

   - 在浏览器中访问服务器 IP 地址(如 http://your-server-ip/),如果显示 Nginx 欢迎页面说明安装成功。

 

---

 

### **步骤2:安装 MySQL**

 

1. **安装 MySQL**

   - **Ubuntu/Debian:**

     ```bash

     sudo apt install mysql-server -y

     ```

 

   - **CentOS:**

     ```bash

     sudo yum install mariadb-server -y

     ```

 

2. **启动 MySQL 服务**

   ```bash

   sudo systemctl start mysql

   sudo systemctl enable mysql

   ```

 

3. **设置 MySQL 安全性**

   运行以下命令进行初始配置:

   ```bash

   sudo mysql_secure_installation

   ```

 

   根据提示:

   - 设置 MySQL root 用户密码。

   - 移除匿名用户。

   - 禁止远程 root 登录。

   - 删除测试数据库。

 

4. **登录 MySQL**

   测试是否可以正常登录:

   ```bash

   mysql -u root -p

   ```

 

---

 

### **步骤3:安装 PHP**

 

1. **安装 PHP 和扩展**

   - **Ubuntu/Debian:**

     ```bash

     sudo apt install php php-fpm php-mysql -y

     ```

 

   - **CentOS:**

     ```bash

     sudo yum install php php-fpm php-mysqlnd -y

     ```

 

2. **启动 PHP-FPM 服务**

   确保 PHP-FPM 服务已启动并设置为开机自启:

   ```bash

   sudo systemctl start php-fpm

   sudo systemctl enable php-fpm

   ```

 

3. **检查 PHP 版本**

   验证 PHP 是否安装成功:

   ```bash

   php -v

   ```

 

---

 

### **步骤4:配置 Nginx 与 PHP 的关联**

 

1. **修改 Nginx 配置**

   编辑默认站点配置文件(路径可能因系统而异):

 

   - **Ubuntu/Debian:**

     ```bash

     sudo nano /etc/nginx/sites-available/default

     ```

 

   - **CentOS:**

     ```bash

     sudo nano /etc/nginx/nginx.conf

     ```

 

2. **在配置文件中找到以下内容并修改:**

 

   - 定位到 `server` 块,添加以下内容让 Nginx 支持 PHP:

     ```nginx

     server {

         listen 80;

         server_name your-server-ip; # 或域名

         root /var/www/html;

 

         index index.php index.html index.htm;

 

         location / {

             try_files $uri $uri/ =404;

         }

 

         location ~ \.php$ {

             include snippets/fastcgi-php.conf; # Ubuntu/Debian

             fastcgi_pass unix:/run/php/php7.4-fpm.sock; # PHP 7.4 示例

             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

             include fastcgi_params; # CentOS

         }

 

         location ~ /\.ht {

             deny all;

         }

     }

     ```

 

3. **测试 Nginx 配置**

   检查配置是否正确:

   ```bash

   sudo nginx -t

   ```

 

   如果没有错误,重启 Nginx:

   ```bash

   sudo systemctl restart nginx

   ```

 

---

 

### **步骤5:测试 LNMP 环境**

 

1. **创建测试 PHP 文件**

   在网站根目录(通常是 `/var/www/html`)中创建一个测试文件:

 

   ```bash

   sudo nano /var/www/html/info.php

   ```

 

   在文件中添加以下内容:

   ```php

   <?php

   phpinfo();

   ?>

   ```

 

2. **访问测试页面**

   在浏览器中访问 `http://your-server-ip/info.php`,如果看到 PHP 信息页面,说明 LNMP 环境配置成功。

 

---

 

## **四、优化和安全设置**

 

### **1. 防火墙配置**

确保允许 HTTP 和 HTTPS 流量通过防火墙:

 

- **Ubuntu/Debian:**

  ```bash

  sudo ufw allow 'Nginx Full'

  sudo ufw enable

  ```

 

- **CentOS:**

  ```bash

  sudo firewall-cmd --permanent --add-service=http

  sudo firewall-cmd --permanent --add-service=https

  sudo firewall-cmd --reload

  ```

 

### **2. 删除测试文件**

出于安全性考虑,删除 `info.php` 文件:

```bash

sudo rm /var/www/html/info.php

```

 

### **3. 开启 HTTPS**

为网站配置免费的 SSL 证书(推荐使用 Let’s Encrypt):

 

- 安装 Certbot:

  ```bash

  sudo apt install certbot python3-certbot-nginx -y # Ubuntu/Debian

  sudo yum install certbot python3-certbot-nginx -y # CentOS

  ```

- 配置 SSL:

  ```bash

  sudo certbot --nginx

  ```

 

按照提示完成设置后,您的网站将支持 HTTPS。

 

---

 

## **五、常见问题及解决方法**

 

### **1. Nginx 无法解析 PHP 文件**

- 检查 Nginx 配置中是否正确设置了 `fastcgi_pass` 和 `SCRIPT_FILENAME`。

- 确保 PHP-FPM 服务正在运行:

  ```bash

  sudo systemctl status php-fpm

  ```

 

### **2. 数据库连接失败**

- 确认 MySQL 服务是否已启动:

  ```bash

  sudo systemctl status mysql

  ```

- 检查数据库用户名、密码和主机地址是否正确。

 

### **3. 网站访问速度慢**

- 优化 Nginx 配置,启用缓存。

- 增加 PHP 的内存限制和执行时间:

  编辑 `/etc/php/7.4/fpm/php.ini`(根据实际版本调整路径):

  ```ini

  memory_limit = 256M

  max_execution_time = 300

  ```

 

---

 

## **六、总结**

 

通过本教程,您已经成功在香港VPS服务器上搭建了 LNMP 环境,并完成了基础的优化与安全设置。这套架构高效、灵活,非常适合中小型网站和高并发业务。如果需要更高性能,可以结合 CDN 或反向代理进一步优化。

超过 50,000 人的信任 网硕互联期待你加入我们的会员。