溫馨提示×

ubuntu lamp如何部署項目

小樊
49
2025-09-25 01:05:19
欄目: 智能運維

Ubuntu LAMP環境部署與項目上線指南
LAMP(Linux + Apache + MySQL + PHP)是經典的Web開發環境組合,適用于搭建動態網站或Web應用。以下是在Ubuntu系統上部署LAMP環境并上線項目的詳細步驟:

一、前期準備

  1. 更新系統軟件包:確保系統所有組件為最新版本,避免兼容性問題。

    sudo apt update && sudo apt upgrade -y
    
  2. 安裝基礎工具(可選但推薦):便于后續文件編輯和網絡診斷。

    sudo apt install vim net-tools -y
    

二、安裝與配置Apache(Web服務器)

  1. 安裝Apache
    sudo apt install apache2 -y
    
  2. 啟動服務并設置開機自啟
    sudo systemctl start apache2
    sudo systemctl enable apache2
    
  3. 驗證Apache運行狀態
    • 瀏覽器訪問http://<服務器IP>,若看到Apache默認歡迎頁面(如“It Works!”),則說明安裝成功。
    • 檢查服務狀態:
      sudo systemctl status apache2
      
      若顯示“active (running)”,則表示服務正常運行。

三、安裝與配置MySQL(數據庫服務器)

  1. 安裝MySQL
    sudo apt install mysql-server -y
    
  2. 運行安全加固腳本
    執行以下命令設置root密碼、刪除匿名用戶、禁止root遠程登錄等:
    sudo mysql_secure_installation
    
    • 按提示輸入當前root密碼(安裝時設置的密碼),然后設置新密碼(建議包含大小寫字母、數字和特殊字符)。
    • 選擇“Yes”刪除匿名用戶、禁止root遠程登錄、刪除測試數據庫。
  3. 登錄MySQL并創建項目數據庫
    sudo mysql -u root -p
    
    • 輸入密碼后進入MySQL命令行。
    • 創建數據庫(如myproject_db):
      CREATE DATABASE myproject_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      
    • 創建專用用戶并授權(避免使用root賬戶):
      CREATE USER 'myproject_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
      GRANT ALL PRIVILEGES ON myproject_db.* TO 'myproject_user'@'localhost';
      FLUSH PRIVILEGES;
      
    • 退出MySQL:
      EXIT;
      

四、安裝與配置PHP(服務器端腳本語言)

  1. 安裝PHP及常用模塊
    為兼容最新特性,建議添加Ond?ej Sury的PHP PPA(提供較新的PHP版本,如8.3):
    sudo apt install software-properties-common -y
    sudo add-apt-repository ppa:ondrej/php -y
    sudo apt update
    sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring php8.3-zip php8.3-gd -y
    
    • php8.3-fpm:PHP FastCGI進程管理器,提升Apache與PHP的交互性能。
    • php8.3-mysql:MySQL數據庫驅動,用于PHP連接MySQL。
  2. 啟動PHP-FPM并設置開機自啟
    sudo systemctl start php8.3-fpm
    sudo systemctl enable php8.3-fpm
    
  3. 配置Apache支持PHP
    • 啟用必要的Apache模塊(用于處理PHP請求和URL重寫):
      sudo a2enmod proxy proxy_fcgi rewrite
      
    • 重啟Apache使模塊生效:
      sudo systemctl restart apache2
      
  4. 驗證PHP安裝
    • 在Apache默認根目錄創建info.php文件:
      sudo nano /var/www/html/info.php
      
    • 輸入以下內容并保存:
      <?php phpinfo(); ?>
      
    • 瀏覽器訪問http://<服務器IP>/info.php,若看到PHP詳細信息頁面(如版本、模塊列表),則說明PHP配置成功。

五、部署項目文件

  1. 上傳項目文件
    將本地項目文件(如WordPress、自定義PHP項目)上傳至Apache默認根目錄/var/www/html(或自定義虛擬主機目錄)。
    • 使用FTP/SFTP工具(如FileZilla):連接服務器后,將本地項目文件夾拖至/var/www/html。
    • 使用SCP命令(命令行):
      scp -r /local/project/path username@server_ip:/var/www/html/
      
  2. 設置文件權限
    確保Apache用戶(www-data)對項目文件有讀寫權限:
    sudo chown -R www-data:www-data /var/www/html
    sudo chmod -R 755 /var/www/html
    
    • chown:將文件所有者改為www-data(Apache運行用戶)。
    • chmod:設置目錄權限為755(所有者可讀寫執行,其他用戶可讀執行),文件權限為644(所有者可讀寫,其他用戶可讀)。

六、配置虛擬主機(可選,適用于多站點)

若需部署多個項目(如example1.comexample2.com),可通過虛擬主機隔離配置:

  1. 創建虛擬主機配置文件
    sudo nano /etc/apache2/sites-available/myproject.conf
    
  2. 添加以下內容(替換myproject.com為你的域名或IP,/var/www/myproject為項目目錄):
    <VirtualHost *:80>
        ServerAdmin admin@example.com
        ServerName myproject.com
        ServerAlias www.myproject.com
        DocumentRoot /var/www/myproject/public_html
        ErrorLog ${APACHE_LOG_DIR}/myproject_error.log
        CustomLog ${APACHE_LOG_DIR}/myproject_access.log combined
    </VirtualHost>
    
    • DocumentRoot:指定項目根目錄(需提前創建,如/var/www/myproject/public_html)。
    • ServerName:主域名;ServerAlias:別名(如www前綴)。
  3. 啟用虛擬主機并禁用默認配置
    sudo a2ensite myproject.conf
    sudo a2dissite 000-default.conf
    
  4. 重啟Apache應用配置
    sudo systemctl restart apache2
    
  5. 測試訪問
    瀏覽器訪問http://myproject.com(需確保域名已解析至服務器IP),若看到項目頁面,則說明虛擬主機配置成功。

七、配置防火墻(可選,提升安全性)

若系統啟用了ufw防火墻,需允許HTTP(端口80)和HTTPS(端口443)流量:

sudo ufw allow 'Apache Full'
sudo ufw reload
  • Apache Full:包含HTTP(80)和HTTPS(443)端口。
  • 若需僅允許HTTP,可使用:
    sudo ufw allow 80/tcp
    

八、常見問題排查

  1. 無法訪問項目頁面
    • 檢查Apache服務是否運行:sudo systemctl status apache2。
    • 檢查防火墻設置:sudo ufw status(確保允許HTTP/HTTPS)。
    • 檢查項目文件權限:ls -l /var/www/html(確保www-data用戶有讀寫權限)。
  2. PHP頁面無法解析
    • 檢查php8.3-fpm服務是否運行:sudo systemctl status php8.3-fpm。
    • 檢查Apache是否加載了PHP模塊:apache2ctl -M | grep proxy_fcgi(應顯示proxy_fcgi_module)。
  3. MySQL連接失敗
    • 檢查MySQL服務是否運行:sudo systemctl status mysql。
    • 檢查項目配置文件中的數據庫連接信息(用戶名、密碼、數據庫名)是否正確。

通過以上步驟,你可在Ubuntu系統上成功部署LAMP環境并上線項目。根據項目需求,還可進一步優化配置(如調整PHP內存限制、開啟MySQL慢查詢日志、配置HTTPS等)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女