在Ubuntu上部署LNMP(Linux, Nginx, MySQL, PHP)環境是一個常見的任務,適用于托管各種Web應用程序。以下是詳細的步驟:
首先,確保你的系統是最新的:
sudo apt update
sudo apt upgrade -y
安裝Nginx服務器:
sudo apt install nginx -y
安裝完成后,可以通過瀏覽器訪問服務器的IP地址來驗證Nginx是否安裝成功,應該會看到Nginx的默認歡迎頁面。
安裝MySQL數據庫:
sudo apt install mysql-server -y
安裝完成后,運行安全腳本來提高MySQL的安全性:
sudo mysql_secure_installation
按照提示設置root密碼和其他安全選項。
安裝PHP及其必要的擴展:
sudo apt install php-fpm php-mysql -y
這里安裝了PHP以及PHP的MySQL擴展和FastCGI進程管理器。
編輯Nginx的默認站點配置文件:
sudo nano /etc/nginx/sites-available/default
找到以下部分:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根據你的PHP版本修改
}
確保fastcgi_pass
指向正確的PHP-FPM套接字文件。然后測試Nginx配置是否正確:
sudo nginx -t
如果沒有錯誤,重啟Nginx:
sudo systemctl restart nginx
創建一個PHP測試文件:
sudo nano /var/www/html/info.php
添加以下內容:
<?php
phpinfo();
?>
保存并退出,然后在瀏覽器中訪問http://your_server_ip/info.php,應該能看到PHP的信息頁面。
確保UFW(Uncomplicated Firewall)已啟用,并允許HTTP和HTTPS流量:
sudo ufw enable
sudo ufw allow 'Nginx Full'
檢查UFW狀態以確認規則已應用:
sudo ufw status
注冊域名并在域名注冊商處配置DNS,將域名指向你的服務器IP地址。編輯Web服務器配置文件,添加ServerName和ServerAlias指令:
sudo nano /etc/nginx/sites-available/default
例如:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name yourdomain.com www.yourdomain.com;
location / {
try_files $uri $uri/ =404;
}
}
重新加載Nginx配置:
sudo systemctl reload nginx
通過以上步驟,你就可以在Ubuntu上成功部署一個LNMP環境,并托管你的網站。如果在安裝過程中遇到具體問題,可以根據錯誤信息進行排查,或者查閱相關的日志文件,如Nginx的錯誤日志通常位于/var/log/nginx/error.log。