在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服務,并運行安全腳本以設置root密碼和其他安全選項。
sudo systemctl start mysql
sudo systemctl enable mysql
sudo mysql_secure_installation
為你的虛擬主機創建一個新的配置文件。例如,如果你要為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
確保PHP-FPM正在運行并監聽正確的套接字或端口。默認情況下,PHP-FPM應該已經配置為監聽/var/run/php/php7.4-fpm.sock
。
創建你的網站目錄并添加一些文件:
sudo mkdir -p /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com
echo "Hello, World!" | sudo tee /var/www/example.com/index.php
確保防火墻允許HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
打開瀏覽器并訪問http://example.com
,你應該能看到“Hello, World!”的消息。
如果你想為你的網站配置SSL,可以使用Let’s Encrypt免費證書:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
按照提示完成SSL配置。
通過以上步驟,你應該能夠在Debian上成功配置一個LNMP虛擬主機。