在Debian系統上配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)虛擬主機的步驟如下:
首先,更新包列表并安裝Nginx:
sudo apt update
sudo apt install nginx
安裝MySQL或MariaDB:
sudo apt install mysql-server # 安裝MySQL
# 或者
sudo apt install mariadb-server # 安裝MariaDB
安裝PHP及其常用擴展:
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-snmp php-soap php-zip
創建一個新的Nginx配置文件來管理虛擬主機。假設我們要為域名example.com
配置虛擬主機:
sudo nano /etc/nginx/sites-available/example.com
在文件中添加以下內容:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/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; # 根據你的PHP版本調整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
保存并關閉文件。
創建一個符號鏈接以啟用該配置:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
測試Nginx配置是否正確:
sudo nginx -t
如果沒有錯誤,重新加載Nginx以應用更改:
sudo systemctl reload nginx
登錄到MySQL/MariaDB并創建數據庫和用戶:
sudo mysql -u root -p
在MySQL shell中執行以下命令:
CREATE DATABASE example_db;
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
在/var/www/example.com
目錄下創建一個PHP文件來測試數據庫連接:
sudo nano /var/www/example.com/index.php
添加以下內容:
<?php
$servername = "localhost";
$username = "example_user";
$password = "password";
$dbname = "example_db";
// 創建連接
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查連接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
保存并關閉文件。
在瀏覽器中訪問http://example.com
,你應該看到“Connected successfully”的消息,表明你的LNMP環境已經成功配置。
通過以上步驟,你可以在Debian系統上成功配置LNMP虛擬主機。