在Debian系統上使用LNMP(Linux, Nginx, MySQL, PHP)實現動態網站部署,可以按照以下步驟進行:
首先,更新你的包列表并安裝Nginx、MySQL和PHP及其相關模塊。
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql
啟動并啟用MySQL服務,并進行基本的安全配置。
sudo systemctl start mysql
sudo systemctl enable mysql
sudo mysql_secure_installation
按照提示設置root密碼,并進行其他安全設置。
編輯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:/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/yourdomain.com /etc/nginx/sites-enabled/
測試Nginx配置是否正確:
sudo nginx -t
如果沒有錯誤,重新加載Nginx服務:
sudo systemctl reload nginx
編輯PHP-FPM的配置文件以確保它使用正確的用戶和組運行。
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到以下行并進行修改:
user = www-data
group = www-data
保存并退出編輯器,然后重啟PHP-FPM服務:
sudo systemctl restart php7.4-fpm
創建你的網站根目錄,并設置適當的權限。
sudo mkdir -p /var/www/yourdomain.com
sudo chown -R www-data:www-data /var/www/yourdomain.com
創建一個簡單的PHP文件來測試PHP是否正常工作。
echo "<?php phpinfo(); ?>" | sudo tee /var/www/yourdomain.com/index.php
打開瀏覽器并訪問你的域名(例如 http://yourdomain.com),你應該能看到PHP信息頁面,這表明你的動態網站已經成功部署。
確保你的防火墻允許HTTP和HTTPS流量。
sudo ufw allow 'Nginx Full'
重新加載防火墻規則:
sudo ufw reload
為了提高安全性,你可以為你的網站配置SSL證書??梢允褂肔et’s Encrypt免費獲取SSL證書。
安裝Certbot和Nginx插件:
sudo apt install certbot python3-certbot-nginx
運行Certbot以獲取并安裝SSL證書:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示完成配置。
通過以上步驟,你應該能夠在Debian系統上使用LNMP成功部署一個動態網站。