在CentOS中集成Nginx與Tomcat通常是為了實現負載均衡和高可用性。以下是一個基本的集成方案:
首先,確保你的CentOS系統已經更新到最新版本,并且已經安裝了必要的依賴包。
# 安裝依賴包
sudo yum install -y gcc openssl-devel pcre-devel zlib-devel
# 下載并安裝Nginx
cd /usr/local
sudo wget http://nginx.org/download/nginx-1.20.1.tar.gz
sudo tar zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_v2_module
sudo make
sudo make install
# 下載并安裝Tomcat
cd /usr/local
sudo wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
sudo tar zxvf apache-tomcat-9.0.56.tar.gz
cd apache-tomcat-9.0.56
sudo ./bin/startup.sh
編輯Nginx的配置文件,通常位于/usr/local/nginx/conf/nginx.conf
或/usr/local/nginx/conf/sites-available/default
。
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:8080; # 指向Tomcat服務器的地址和端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# 靜態文件可在此處指定路徑,Nginx會直接處理這些請求
location /static/ {
alias /usr/local/nginx/html;
}
}
編輯Tomcat的配置文件server.xml
,通常位于/usr/local/apache-tomcat-9.0.56/conf/server.xml
。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
啟動Nginx和Tomcat服務,并測試配置是否成功。
# 啟動Nginx
sudo /usr/local/nginx/sbin/nginx
# 啟動Tomcat
cd /usr/local/apache-tomcat-9.0.56/bin
sudo ./startup.sh
# 測試配置
curl http://yourdomain.com
為了實現負載均衡,可以在Nginx配置文件中定義多個Tomcat實例,并使用upstream
模塊進行配置。
upstream tomcat_servers {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
# 可以添加權重和負載均衡策略
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://tomcat_servers;
}
}
為了提高高可用性,可以部署多個Nginx和Tomcat實例,并使用Keepalived等工具實現故障轉移和負載均衡。
請注意,上述步驟是一個基本的集成方案,實際生產環境中可能需要更多的配置和優化,例如安全性設置、日志監控、性能調優等。