Java单体项目上线步骤

问题

1.如何将一个springboot项目部署上线?
2.如何配置nginx反向代理?
3.使用nginx负载均衡发布版本的正确姿势?
4.如何配置https?

1.如何将一个springboot项目部署上线?

购买服务器

阿里云官网https://www.aliyun.com/
在这里插入图片描述
在这里插入图片描述
购买即可。购买成功后,创建安全组
在这里插入图片描述
我们可以使用finalShell连接服务器,我之前也稍微写过一篇介绍:
https://vampireachao.gitee.io/2021/05/09/finalShell/
在这里插入图片描述

安装`java`
yum -y install java-1.8.0-openjdk-devel.x86_64

安装好了后可以输入

cd /usr/lib/jvm

进入jdk目录查看配置环境变量
在这里插入图片描述

# 编辑/etc/profile
vim /etc/profile

按下I输入

JAVA_HOME=/usr/lib/jvm/java
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export JRE_HOME
export PATH
export CLASSPATH

在这里插入图片描述
然后按下:输入wq再回车确认 刷新环境变量

source /etc/profile

运行

# 后台运行,并在后台将《标准错误输出》重定向到《标准输出》再重定向输入到 1.txt 文件中。
# nohup :no hang up,退出终端不停止程序
# java -jar :执行我们的jar包中main函数
# > /www/ruben/web/1.txt :将标准输出流(日志信息)输出到1.txt文件中
# & 后台执行该命令
nohup java -jar /www/ruben/web/simple-oss-0.0.1-SNAPSHOT.jar > /www/ruben/web/1.txt 2>&1 &
# 循环打印文件内容
# tail :打印文件内容
# -f :循环打印
tail -f /www/ruben/web/1.txt

我们在阿里云安全组添加一下8080端口然后在防火墙开放端口

# 添加8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重启防火墙
systemctl restart firewalld
# 查看开放端口
firewall-cmd --list-all

2.如何配置nginx反向代理?

安装nginx

进入宝塔面板 宝塔面板的安装:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

详细可看https://www.bt.cn/bbs/thread-19376-1-1.html
别忘了开放8888端口,在安全组里配置下,这里就不赘述了

安装完成后进到宝塔面板 搜索nginx并安装
找到配置文件中http下方填入我们的配置

    upstream waibi{
        server 127.0.0.1:8080 weight=1;
    }

    server{
      listen  80;
      server_name localhost;
      location / {
        proxy_pass http://waibi;
      }
    }

在这里插入图片描述

3.使用nginx负载均衡发布版本的正确姿势?

我们如果要发布新版本,则可以将新版本用另一个端口启动
我这里修改代码让富文本包含默认值

nohup java -jar /www/ruben/web2/simple-oss-0.0.1-SNAPSHOT.jar --server.port=8081  > /www/ruben/web2/1.txt 2>&1 &
tail -f /www/ruben/web2/1.txt

如果没问题了,再使用nginx配置负载均衡到新版本上去

server 127.0.0.1:8081 weight=1;

4.如何配置https?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cd /www/server/nginx/conf  #进入Nginx默认安装目录。如果您修改过默认安装目录,请根据实际配置进行调整。
mkdir cert  #创建证书目录,命名为cert。
vim /www/server/nginx/conf/nginx.conf
server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的类型。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
    ssl_prefer_server_ciphers on;
    location / {
        root html;  #站点目录。
        index index.html index.htm;
    }
}
server {
    listen 80;
    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
    rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    location / {
        index index.html index.htm;
    }
}
cd /usr/local/nginx/sbin  #进入Nginx服务的可执行目录。
./nginx -s reload  #重新载入配置文件。
server {
    listen 80;
    server_name localhost;
    location / {
        index index.html index.htm;
    }
}
server {
    listen 443 ssl;
    server_name localhost;
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;   #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key cert/cert-file-name.key;   #需要将cert-file-name.key替换已上传的证书密钥文件的名称。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        index index.html index.htm;
    }
}
RewriteEngine On
RewriteCond %{HTTP:From-Https} !^on$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?yourdomain.com$ [NC]   #需要将yourdomain.com替换成证书绑定的域名。
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L]   #需要将yourdomain.com替换成证书绑定的域名。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值