在Debian系統上配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)的虛擬主機涉及幾個步驟。以下是一個基本的指南:
首先,確保你已經安裝了Nginx、MySQL/MariaDB和PHP。
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql
啟動并啟用MySQL/MariaDB服務:
sudo systemctl start mysql
sudo systemctl enable mysql
運行安全腳本以設置root密碼和其他安全選項:
sudo mysql_secure_installation
編輯PHP-FPM配置文件以允許Nginx與其通信:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到并修改以下行:
listen = /run/php/php7.4-fpm.sock
保存并退出編輯器,然后重啟PHP-FPM服務:
sudo systemctl restart php7.4-fpm
創建一個新的Nginx服務器塊配置文件:
sudo nano /etc/nginx/sites-available/yourdomain.com
添加以下內容(根據你的需求進行修改):
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
保存并退出編輯器。
創建一個符號鏈接以啟用該配置:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
測試Nginx配置是否正確:
sudo nginx -t
如果沒有錯誤,重新加載Nginx以應用更改:
sudo systemctl reload nginx
創建網站根目錄并添加一些內容:
sudo mkdir -p /var/www/yourdomain.com
sudo chown -R www-data:www-data /var/www/yourdomain.com
echo "Hello, World!" | sudo tee /var/www/yourdomain.com/index.php
確保防火墻允許HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
如果你在本地測試,可以編輯/etc/hosts
文件以解析你的域名:
sudo nano /etc/hosts
添加以下行:
127.0.0.1 yourdomain.com www.yourdomain.com
保存并退出編輯器。
現在,你應該能夠通過瀏覽器訪問你的域名,并看到“Hello, World!”消息。
為了安全起見,建議為你的網站配置SSL證書。你可以使用Let’s Encrypt來免費獲取SSL證書:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示完成配置。
完成這些步驟后,你的Debian系統上應該已經成功配置了一個LNMP虛擬主機。