在Ubuntu上使用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
運行MySQL安全腳本以提高安全性:
sudo mysql_secure_installation
按照提示設置root密碼,并進行其他安全設置。
編輯Nginx配置文件以支持PHP:
sudo nano /etc/nginx/sites-available/default
將以下內容粘貼到配置文件中:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
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;
}
}
保存并退出編輯器,然后測試Nginx配置:
sudo nginx -t
如果沒有錯誤,重新加載Nginx:
sudo systemctl reload nginx
創建一個目錄來存放你的網站文件:
sudo mkdir -p /var/www/html/yourdomain.com
sudo chown -R www-data:www-data /var/www/html/yourdomain.com
將你的網站文件上傳到 /var/www/html/yourdomain.com
目錄中。你可以使用FTP、SCP或其他文件傳輸方法。
編輯PHP-FPM配置文件以匹配Nginx配置中的PHP版本:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到 listen
行并修改為:
listen = /run/php/php7.4-fpm.sock
保存并退出編輯器,然后重啟PHP-FPM服務:
sudo systemctl restart php7.4-fpm
打開瀏覽器并訪問你的域名或服務器IP地址,確保網站能夠正常顯示。
如果你的服務器啟用了防火墻,確保允許HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
為了提高安全性,可以為你的網站配置SSL證書??梢允褂肔et’s Encrypt免費獲取證書:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
按照提示完成SSL證書的安裝和配置。
通過以上步驟,你就可以在Ubuntu上使用LNMP棧成功部署一個動態網站。