在香港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 或反向代理进一步优化。
- Tags:
- 香港VPS服务器,香港VPS,VPS服务器