溫馨提示×

如何在Linux LAMP上部署應用

小樊
43
2025-09-22 16:52:24
欄目: 智能運維

如何在Linux LAMP上部署應用

LAMP(Linux、Apache、MySQL、PHP)是經典的動態網站開發環境,以下是從環境準備到應用部署的全流程步驟,覆蓋常見Linux發行版(如Ubuntu、CentOS)的通用操作:

一、環境準備

  1. 系統更新:確保系統軟件包為最新版本,提升兼容性與安全性。
    • Ubuntu/Debian:sudo apt update && sudo apt upgrade -y
    • CentOS/RHEL:sudo yum update -y
  2. 關閉防火墻(測試階段可選):避免防火墻攔截HTTP/HTTPS流量(生產環境需配置放行規則)。
    • Ubuntu(ufw):sudo ufw disable
    • CentOS(firewalld):sudo systemctl stop firewalld && sudo systemctl disable firewalld
  3. 禁用SELinux(可選):若遇到權限問題,可臨時禁用(編輯/etc/selinux/config,設置SELINUX=disabled,重啟生效)。

二、安裝LAMP組件

1. 安裝Apache(Web服務器)

  • Ubuntu/Debian:sudo apt install apache2 -y
  • CentOS/RHEL:sudo yum install httpd -y
  • 啟動服務并設置開機自啟:
    • Ubuntu/Debian:sudo systemctl start apache2 && sudo systemctl enable apache2
    • CentOS/RHEL:sudo systemctl start httpd && sudo systemctl enable httpd
  • 驗證:瀏覽器訪問http://服務器IP,應看到Apache默認歡迎頁面。

2. 安裝MySQL/MariaDB(數據庫)

  • Ubuntu/Debian:sudo apt install mysql-server -y
  • CentOS/RHEL:sudo yum install mysql-community-server -y(需先導入MySQL YUM倉庫)
  • 運行安全腳本強化配置(設置root密碼、移除匿名用戶、禁止遠程root登錄等):
    sudo mysql_secure_installation
  • 登錄驗證:sudo mysql -u root -p(輸入密碼進入MySQL命令行)。

3. 安裝PHP及常用模塊

  • Ubuntu/Debian:sudo apt install php libapache2-mod-php php-mysql php-gd php-curl php-mbstring -y
  • CentOS/RHEL:sudo yum install php php-mysqlnd php-opcache php-gd php-curl php-mbstring -y
  • 重啟Apache加載PHP模塊:
    • Ubuntu/Debian:sudo systemctl restart apache2
    • CentOS/RHEL:sudo systemctl restart httpd
  • 驗證PHP:創建/var/www/html/info.php,內容為<?php phpinfo(); ?>,瀏覽器訪問http://服務器IP/info.php,應顯示PHP信息頁面。

三、配置LAMP組件

1. 配置Apache虛擬主機(可選但推薦)

  • 創建虛擬主機配置文件(以yourdomain.conf為例):
    sudo nano /etc/apache2/sites-available/yourdomain.conf(Ubuntu/Debian)或/etc/httpd/conf.d/yourdomain.conf(CentOS/RHEL)。
  • 添加以下內容(修改ServerName、DocumentRoot為實際域名/路徑):
    <VirtualHost *:80>
        ServerAdmin webmaster@yourdomain.com
        ServerName yourdomain.com
        DocumentRoot /var/www/yourdomain.com
        <Directory /var/www/yourdomain.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All  # 允許.htaccess覆蓋配置
            Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log
        CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined
    </VirtualHost>
    
  • 啟用虛擬主機及重寫模塊:
    • Ubuntu/Debian:sudo a2ensite yourdomain.conf && sudo a2enmod rewrite && sudo systemctl restart apache2
    • CentOS/RHEL:sudo ln -s /etc/httpd/conf.d/yourdomain.conf /etc/httpd/conf.modules.d/00-base.conf && sudo systemctl restart httpd。

2. 配置MySQL數據庫

  • 登錄MySQL:sudo mysql -u root -p。
  • 創建數據庫:CREATE DATABASE yourdatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 創建用戶并授權(替換youruser、yourpassword):
    CREATE USER 'youruser'@'localhost' IDENTIFIED BY 'yourpassword';
    GRANT ALL PRIVILEGES ON yourdatabase.* TO 'youruser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    

3. 調整文件權限

  • 將Web根目錄(如/var/www/yourdomain.com)的所有權賦予Apache用戶(通常為www-dataapache):
    sudo chown -R www-data:www-data /var/www/yourdomain.com
  • 設置目錄權限為755(避免權限過高導致安全問題):
    sudo chmod -R 755 /var/www/yourdomain.com。

四、部署應用

  1. 上傳應用文件:使用scp或FTP工具將應用文件上傳至Web根目錄(如/var/www/yourdomain.com)。
    示例(本地到服務器):scp -r /local/path/to/app username@服務器IP:/var/www/yourdomain.com
  2. 配置應用:修改應用配置文件(如WordPress的wp-config.php、Laravel的.env),更新數據庫連接信息(數據庫名、用戶名、密碼)。
  3. 測試應用:瀏覽器訪問http://yourdomain.com(或服務器IP),驗證應用是否正常加載。

五、安全加固(生產環境必做)

  1. 配置防火墻:僅允許HTTP(80端口)、HTTPS(443端口)流量。
    • Ubuntu(ufw):sudo ufw allow 'Apache Full' && sudo ufw enable
    • CentOS(firewalld):sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --permanent --add-service=https && sudo firewall-cmd --reload
  2. 定期更新:定期運行sudo apt update && sudo apt upgrade -y(Ubuntu/Debian)或sudo yum update -y(CentOS/RHEL),修復安全漏洞。
  3. 備份數據:定期備份數據庫(mysqldump -u youruser -p yourdatabase > backup.sql)和應用文件,防止數據丟失。

通過以上步驟,即可在Linux LAMP環境中完成應用部署。根據應用需求,可能還需調整PHP配置(如upload_max_filesize、memory_limit)或優化Apache性能(如啟用壓縮、緩存),但核心流程已覆蓋絕大多數場景。

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