Ubuntu LAMP環境部署與項目上線指南
LAMP(Linux + Apache + MySQL + PHP)是經典的Web開發環境組合,適用于搭建動態網站或Web應用。以下是在Ubuntu系統上部署LAMP環境并上線項目的詳細步驟:
更新系統軟件包:確保系統所有組件為最新版本,避免兼容性問題。
sudo apt update && sudo apt upgrade -y
安裝基礎工具(可選但推薦):便于后續文件編輯和網絡診斷。
sudo apt install vim net-tools -y
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
http://<服務器IP>
,若看到Apache默認歡迎頁面(如“It Works!”),則說明安裝成功。sudo systemctl status apache2
若顯示“active (running)”,則表示服務正常運行。sudo apt install mysql-server -y
sudo mysql_secure_installation
sudo mysql -u root -p
myproject_db
):CREATE DATABASE myproject_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myproject_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON myproject_db.* TO 'myproject_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
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。sudo systemctl start php8.3-fpm
sudo systemctl enable php8.3-fpm
sudo a2enmod proxy proxy_fcgi rewrite
sudo systemctl restart apache2
info.php
文件:sudo nano /var/www/html/info.php
<?php phpinfo(); ?>
http://<服務器IP>/info.php
,若看到PHP詳細信息頁面(如版本、模塊列表),則說明PHP配置成功。/var/www/html
(或自定義虛擬主機目錄)。
/var/www/html
。scp -r /local/project/path username@server_ip:/var/www/html/
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.com
和example2.com
),可通過虛擬主機隔離配置:
sudo nano /etc/apache2/sites-available/myproject.conf
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
前綴)。sudo a2ensite myproject.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
http://myproject.com
(需確保域名已解析至服務器IP),若看到項目頁面,則說明虛擬主機配置成功。若系統啟用了ufw
防火墻,需允許HTTP(端口80)和HTTPS(端口443)流量:
sudo ufw allow 'Apache Full'
sudo ufw reload
Apache Full
:包含HTTP(80)和HTTPS(443)端口。sudo ufw allow 80/tcp
sudo systemctl status apache2
。sudo ufw status
(確保允許HTTP/HTTPS)。ls -l /var/www/html
(確保www-data
用戶有讀寫權限)。php8.3-fpm
服務是否運行:sudo systemctl status php8.3-fpm
。apache2ctl -M | grep proxy_fcgi
(應顯示proxy_fcgi_module
)。sudo systemctl status mysql
。通過以上步驟,你可在Ubuntu系統上成功部署LAMP環境并上線項目。根據項目需求,還可進一步優化配置(如調整PHP內存限制、開啟MySQL慢查詢日志、配置HTTPS等)。