在CentOS上使用Tomcat和Nginx部署Java Web项目,可以充分利用Tomcat的应用服务器功能和Nginx的反向代理及负载均衡能力,以下是详细的步骤和配置指南:
一、安装Tomcat
1、配置Java环境:

卸载系统自带的OpenJDK:
sudo yum remove java1.7.0openjdkheadless y从Oracle官网下载最新版本的JDK(如jdk8u261),并解压到指定目录:
wget https://download.oracle.com/otn/java/jdk/8u261b12/a4634525489241b9a9e1aa73d9e118e6/jdk8u261linuxx64.tar.gz
tar zvxf jdk8u261linuxx64.tar.gz C /usr/local/配置环境变量:
echo 'export JAVA_HOME=/usr/local/jdk1.8.0_261' >> ~/.bashrc
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> ~/.bashrc
source ~/.bashrc2、安装Tomcat:
从Apache Tomcat官网下载Tomcat 9.0版本,并解压到指定目录:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat9/v9.0.38/bin/apachetomcat9.0.38.tar.gz
tar zvxf apachetomcat9.0.38.tar.gz C /usr/local/进入Tomcat的bin目录,启动Tomcat:

cd /usr/local/apachetomcat9.0.38/bin
./startup.sh检查Tomcat是否成功启动,可以通过浏览器访问http://<your_server_ip>:8080,查看Tomcat欢迎页面。
二、安装Nginx
1、安装依赖库:
sudo yum install y gcc pcre pcredevel zlib zlibdevel openssl openssldevel
2、下载并编译Nginx:
从Nginx官网下载稳定版源码包:
wget http://nginx.org/download/nginx1.21.6.tar.gz
tar zvxf nginx1.21.6.tar.gz C /usr/local/进入Nginx源码目录,执行configure命令:
cd /usr/local/nginx1.21.6
./configure prefix=/usr/local/nginx编译并安装Nginx:

make && make install3、启动Nginx:
/usr/local/nginx/sbin/nginx
检查Nginx是否成功启动,可以通过浏览器访问http://<your_server_ip>,查看Nginx欢迎页面。
三、配置Nginx反向代理Tomcat
1、编辑Nginx配置文件:
vim /usr/local/nginx/conf/nginx.conf
修改或添加以下配置,将请求代理到Tomcat:
server {
listen 80;
server_name your_server_ip;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header XRealIP $remote_addr;
proxy_set_header XForwardedFor $proxy_add_x_forwarded_for;
proxy_set_header XForwardedProto $scheme;
}
}2、重启Nginx:
/usr/local/nginx/sbin/nginx s reload
四、设置开机自启动
对于Tomcat和Nginx,可以通过以下命令设置为系统服务,使其在系统启动时自动运行:
1、设置Tomcat为系统服务:
cp /usr/local/apachetomcat9.0.38/bin/startup.sh /etc/init.d/tomcat chmod +x /etc/init.d/tomcat chkconfig add tomcat
2、设置Nginx为系统服务:
cp /usr/local/nginx/sbin/nginx /etc/init.d/nginx chmod +x /etc/init.d/nginx chkconfig add nginx
常见问题解答(FAQs)
Q1:如何更改Tomcat默认端口号?
A1:编辑/usr/local/apachetomcat9.0.38/conf/server.xml文件,找到以下内容并修改:
<Connector port="8080" ... />
将其改为所需的端口号,例如8088,然后重新启动Tomcat:
/usr/local/apachetomcat9.0.38/bin/shutdown.sh /usr/local/apachetomcat9.0.38/bin/startup.sh
Q2:如何配置Nginx以支持HTTPS?
A2:首先需要获取SSL证书(可以是自签名证书或由CA签发的证书),在Nginx配置文件中添加HTTPS服务器块:
server {
listen 443 ssl;
server_name your_server_ip;
ssl_certificate /path/to/your_certificate.crt;
ssl_certificate_key /path/to/your_certificate.key;
location / {
proxy_pass http://localhost:8080;
...
}
}重启Nginx使配置生效:
/usr/local/nginx/sbin/nginx s reload
