如何在Ubuntu上遷移Apache服務
遷移Apache服務至Ubuntu服務器需遵循備份-安裝-配置-遷移數據-測試的核心流程,確保服務連續性與數據完整性。以下是詳細步驟:
/etc/apache2
)、網站文件(默認/var/www/html
,可通過grep -R "DocumentRoot" /etc/apache2/sites-enabled
確認)、數據庫(若有,使用mysqldump
導出)。命令示例:sudo cp -a /etc/apache2 /etc/apache2_old # 備份配置
sudo rsync -av /var/www/html /mnt/backup/html # 備份網站文件(假設目標目錄為/mnt/backup/html)
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 libapache2-mod-php php-mysql -y
sudo systemctl start apache2
sudo systemctl enable apache2
/etc/apache2
目錄復制到新服務器相同路徑,覆蓋默認配置:sudo rsync -av /mnt/backup/apache2/ /etc/apache2/
/etc/apache2/sites-available/000-default.conf
,更新DocumentRoot
(如改為/var/www/new_root
)、ServerName
(域名/IP);/etc/apache2/ports.conf
,修改Listen
指令(如Listen 8080
);sudo a2enmod rewrite
啟用URL重寫)。sudo apache2ctl configtest
若輸出Syntax OK
則繼續,否則根據提示修復錯誤。/var/www/new_root
):sudo rsync -av /mnt/backup/html/ /var/www/new_root/
www-data
)對網站文件有讀取權限:sudo chown -R www-data:www-data /var/www/new_root
sudo chmod -R 755 /var/www/new_root
mysqldump
導出數據庫(以old_db
為例):mysqldump -u root -p old_db > old_db.sql
mysql -u root -p -e "CREATE DATABASE new_db;"
mysql -u root -p new_db < old_db.sql
/var/www/new_root/config.php
(或類似文件)中的數據庫名、用戶名、密碼。sudo systemctl restart apache2
/var/log/apache2/error.log
)排查潛在問題:sudo tail -f /var/log/apache2/error.log
mods-available
vs CentOS的conf.d
),遷移時需調整路徑;ufw
)允許HTTP(端口80)和HTTPS(端口443)流量:sudo ufw allow 'Apache Full'
.crt
、.key
)復制到新服務器的/etc/apache2/sites-available/
目錄,并更新虛擬主機配置。