在阿里云CentOS 7服務器上通過不同端口部署多個Web站點,是一種經(jīng)濟高效且靈活的資源利用方式,尤其適用于測試、輕量級應用或內(nèi)部服務。本文將詳細介紹從環(huán)境準備、Web服務配置到站點部署的完整流程。
一、環(huán)境準備與基礎(chǔ)配置
- 服務器準備:確保已購買并啟動一臺阿里云ECS實例,操作系統(tǒng)為CentOS 7,并通過SSH成功登錄。
- 安全組配置:登錄阿里云控制臺,進入ECS實例的安全組設(shè)置。添加入方向規(guī)則,開放計劃使用的端口(如8080、8081、8082等),協(xié)議類型為HTTP(80) 或自定義TCP(建議同時開放對應端口),授權(quán)對象為
0.0.0.0/0(或在生產(chǎn)環(huán)境中限定IP范圍)。這是關(guān)鍵一步,否則外部無法訪問。
- 系統(tǒng)更新與防火墻:
- 更新系統(tǒng):
sudo yum update -y
- 若使用firewalld防火墻,開放端口并重載:
`bash
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=8081/tcp
# 添加更多端口...
sudo firewall-cmd --reload
`
- 若使用iptables,需相應配置。
4. 安裝Web服務器:這里以Nginx為例(也可選用Apache)。
`bash
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
`
二、規(guī)劃與創(chuàng)建站點目錄及測試頁面
假設(shè)我們要部署兩個站點:
- 站點A:使用端口8080,文檔根目錄
/var/www/siteA - 站點B:使用端口8081,文檔根目錄
/var/www/siteB
創(chuàng)建目錄和測試頁面:`bash
sudo mkdir -p /var/www/siteA
sudo mkdir -p /var/www/siteB
為站點A創(chuàng)建測試首頁
sudo bash -c 'echo "Welcome to Site A (Port 8080)
" > /var/www/siteA/index.html'# 為站點B創(chuàng)建測試首頁 sudo bash -c 'echo "
Welcome to Site B (Port 8081)
" > /var/www/siteB/index.html'設(shè)置目錄權(quán)限(確保Nginx用戶可讀)
sudo chown -R nginx:nginx /var/www/siteA
sudo chown -R nginx:nginx /var/www/siteB
sudo chmod -R 755 /var/www`
三、配置Nginx多端口站點
Nginx的主配置文件為 /etc/nginx/nginx.conf。通常,我們會在 /etc/nginx/conf.d/ 目錄下為每個站點創(chuàng)建獨立的配置文件,這樣更易于管理。
1. 為站點A創(chuàng)建配置文件:
`bash
sudo vi /etc/nginx/conf.d/siteA.conf
`
輸入以下內(nèi)容:
`nginx
server {
listen 8080; # 監(jiān)聽8080端口
servername ; # 可以是域名,若無域名可用下劃線或服務器IP
location / {
root /var/www/siteA;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
`
2. 為站點B創(chuàng)建配置文件:
`bash
sudo vi /etc/nginx/conf.d/siteB.conf
`
輸入以下內(nèi)容(將端口和根目錄改為8081和siteB):
`nginx
server {
listen 8081;
servername ;
location / {
root /var/www/siteB;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
`
3. 檢查配置并重啟Nginx:
`bash
sudo nginx -t # 測試配置文件語法
sudo systemctl restart nginx # 重啟Nginx使配置生效
`
四、測試訪問
打開瀏覽器,分別訪問:
http://<你的服務器公網(wǎng)IP>:8080http://<你的服務器公網(wǎng)IP>:8081
如果看到之前創(chuàng)建的“Welcome to Site A/B”頁面,說明部署成功。
五、進階配置與注意事項
- 域名綁定(可選):如果有域名,可以將域名解析到服務器IP,并在配置文件中將
server_name改為對應的域名(如siteA.yourdomain.com)。即使使用不同端口,也建議配置,便于標識和管理。
- 服務管理:
- 查看Nginx狀態(tài):
sudo systemctl status nginx
- 重新加載配置(不中斷服務):
sudo systemctl reload nginx
3. 日志查看:每個站點的訪問日志和錯誤日志默認可能混在一起。可以在每個server配置中自定義日志路徑,例如:
`nginx
accesslog /var/log/nginx/siteAaccess.log;
errorlog /var/log/nginx/siteAerror.log;
`
- 部署實際應用:將您的PHP、Python、Node.js或靜態(tài)網(wǎng)站文件放入對應的站點目錄(如
/var/www/siteA),并確保Nginx配置正確指向應用入口文件。對于動態(tài)應用,可能還需要配置反向代理(如將請求轉(zhuǎn)發(fā)到本地的3000、5000等應用監(jiān)聽端口)。
- 安全性建議:
- 非必要不使用root權(quán)限運行服務。
- 定期更新系統(tǒng)和軟件包。
- 考慮使用HTTPS(SSL/TLS),為每個站點申請證書并配置監(jiān)聽443端口(或自定義端口如8443)。
- 在安全組中嚴格控制端口開放范圍。
通過以上步驟,您已經(jīng)成功在阿里云CentOS 7服務器上使用不同端口部署了多個Web站點。此方法簡單直接,非常適合快速搭建測試環(huán)境或運行多個輕量級服務。隨著站點數(shù)量增加或需求復雜化,您可以進一步探索基于域名的虛擬主機、負載均衡或容器化部署等更高級的方案。