最近鼓捣 JavaWeb 项目部署的时候,心想着用宝塔面板肯定能省事儿,麻溜地把项目弄上线。虽说用它操作起来是简单,可好多底层关键的东西都藏起来,让人摸不着头脑。一咬牙,直接把宝塔扔一边儿,决定徒手干。于是,我就想把自己这一路走过来的经验,从最开始搭环境,到后面给项目做配置,再到最终顺顺利利让项目上线,都分享给大家,要是有跟我之前一样,在这条路上迷茫摸索的朋友,希望能帮你们少走点弯路。
以下是项目部署的具体步骤:
1.Jdk安装与环境变量配置
(1)Oracle官网复制jdk下载链接
(2)下载与解压
直接把下载链接复制下来,打开xShell,使用wget下载
wget https://download.oracle.com/java/23/latest/jdk-23_linux-aarch64_bin.tar.gz
下载之后开始解压
tar zxvf jdk-23_linux-aarch64_bin.tar.gz
出现以下内容即开始解压
(3)配置环境变量
用vim编辑器打开配置文件
vim /etc/profile
在文件中添加如下信息
export JAVA_HOME=/web/jdk-23.0.1 #这里替换为你的jdk安装目录
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
然后:wq保存退出,输入以下内容重载配置
source /etc/profile
查看版本,检查是否配置成功
java -version
若出现以下信息,及表示安装成功
以上就是jdk手动安装全流程。
2.安装Apache tomcat
(1)从官网复制下载链接,选择适合自己的版本
同样使用wget下载,
wget https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.2/bin/apache-tomcat-11.0.2.tar.gz
然后解压,
tar zxvf apache-tomcat-11.0.2.tar.gz
(2)环境配置
打开配置文件
vim /etc/profile
在文件尾部添加如下配置
export JRE_HOME=${JAVA_HOME}/jre
export CATALINA_HOME=/web/apache-tomcat-11.0.2 #替换为你的tomcat安装目录
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin
export PATH=$PATH:${JAVA_PATH}:$PATH
然后:wq保存退出,重载配置
source /etc/profile
(3)启动tomcat
进入tomcat安装目录的bin目录下,执行shell命令
sh startup.sh
如果出现以下内容即启动成功,
接下来我们就可以通过ip:端口的形式访问了
(4)修改默认端口(可选)
tomcat默认端口为8080(修改端口前记得在防火墙放行端口),用vim打开tomcat配置文件,位于tomcat安装目录下的conf/server.xml中,修改8080为所需端口即可。
3.Nginx下载安装
(1)nginx官网复制下载链接
同样的,下载然后解压
wget https://nginx.org/download/nginx-1.26.2.tar.gz
tar zxvf nginx-1.26.2.tar.gz
(2)配置文件
安装pcre和openssl库。这里添加了ssl模块,方便后期部署ssl证书,如果不需要也可以直接t跳过,执行./confugure,编译安装即可。
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install libssl-dev
进入nginx的解压目录,输入以下指令
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
(3)以上操作结束后,直接编译安装就好了
make&&make install
进入nginx的安装目录,在上一步中的安装目录为/usr/local/nginx,进入该目录下的sbin目录,启动nginx
./nginx
接下来我们直接通过公网IP就可以访问:
看到这里,网站的基本配置就结束了,当然还有数据库(这里就不细讲了),接下来我们就可以开始项目部署了。
4.项目部署
首先,需要包打包好的项目上传到服务器,解压后放到tomcat的webapps目录下,解压后
我这里建了一个only4u的文件夹,所以可以通过ip+tomcat端口+/only4u访问了。
接下来就可以配置nginx反向代理了,将请求转发到tomcat端口,直接找到我们nginx安装目录,以我的为例/usr/local/nginx,进入目录下的conf文件夹,找到nginx.conf,接下来就可以开始配置nginx了。
!!!前提:域名完成备案和解析
(1)http转https
直接用301永久重定向到https即可
server {
listen 80;
server_name example.com;#替换为真实域名
return 301 https://$host$request_uri;
}
直接在80端口监听的server块中保留这三行即可。
(2)反向代理
通过浏览器访问时,无论是443端口还是80端口,都要转发到tomcat的端口上,动态网页才有效果。
由于nginx默认只有一个server块,我们还需要添加一个用于监听443端口,直接在http块中加入以下代码即可
server{
listen 443 ssl;
server_name example.com#这里替换为你自己的域名
ssl_certificate /usr/local/nginx/ssl/fullchain.cer;#替换为ssl证书位置
ssl_certificate_key /usr/local/nginx/ssl/privkey.key; #替换为密钥位置
ssl_certificate_key /usr/local/nginx/ssl/privkey.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:8080/yourapp/;#替换为tomcat端口和项目文件位置
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
}
配置完成后,进入到nginx的sbin目录,输入以下代码直接重载nginx配置就可以了
./nginx -s reload
于是我们就可以通过域名访问了
恭喜,网站部署成功。