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