当前位置: 首页 > article >正文

Linux环境下的Java项目部署技巧:项目部署

部署 SpringBoot 项目:

  1. 安装部署环境(请看我的历史文章),并启动
  2. 前端项目打包:
    npm  run  build:prod
    
    //执行之后会产生一个 dist 文件夹
  3. 后端项目打包:
    install
    
    //执行之后会产生一个 xxx.jar 的文件
  4. 开放需要的端口号:
    1. 比如我的后端端口号为 8282,则需要防火墙和服务器同时开放 8282 端口
  5. 将 dist 上传到 nginx/html 文件夹,有两种办法:
    1. 将 dist 里面的文件覆盖掉 html 里面的所有文件
    2. 将整个 dist 上传到 html 文件夹下
  6. 将 jar 文件上传到服务器任意文件夹下
  7. 配置 nginx 文件:
    1. 可以直接在 nginx/conf/nginx.conf 文件中配置
      server{
        listen 80;
        server_name localhost;
        location / {
          root /usr/local/nginx/html;
          index index.html;
        }
        location /prod-api/ {
          proxy_pass http://62.234.175.16:8282/;
        }
      }
    2. 引入外部配置文件,例如添加配置文件夹和配置文件在 nginx/conf/conf.d/*.conf:
    3. nginx.conf 文件添加以下字段并注释掉其它字段
      include /usr/local/nginx/conf/conf.d/*.conf;
    4. conf.conf 文件编辑如下:
      server{
        listen 80;
        server_name localhost;
        location / {
          root /usr/local/nginx/html/dist;
          index index.html;
        }
        location /prod-api/ {
          proxy_pass http://62.234.175.16:8282/;
        }
      }
  8. 启动前端:
    1. 进入 nginx/sbin 目录,执行命令 ./nginx -s reload
  9. 启动后端:
    1. 进入存放 jar 文件的目录,执行命令:
      1. 前台启动:java -jar xxx.jar
      2. 后台启动:nohup java -jar xxx.jar &
  10. 至此项目部署完成

部署 SSM 项目:

  1. 将所有项目打包:
  2. 将 jar 包 和 war 包放到 Tomcat 目录的 webapps 目录下
  3. 启动 Tomcat
    1. win:进入 Tomcat 目录的 bin 下,双击 startup.bat
    2. linux:进入 Tomcat 的 bin 目录执行命令:./startup.sh
  4. 访问:
    1. 地址栏输入 http://ip地址:tomcat 端口号,访问即可
    2. 如:http://localhost:8080/song/list
  5. 注意:
    1. 需要在 Tomcat 目录的 conf 目录的 server.xml 添加以下配置,不然静态资源访问不到,因为在生成的过程中改变了静态资源的位置:
      <Service name="Catalina1">
          <Connector port="8081" pr        otocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443" URIEncoding="UTF-8" />
      			   
          <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
          <Engine name="Catalina" defaultHost="localhost">
            <Realm className="org.apache.catalina.realm.LockOutRealm">
              <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                     resourceName="UserDatabase"/>
            </Realm>
      
            <Host name="localhost"  appBase="webapps"
                  unpackWARs="true" autoDeploy="true">
              <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                     prefix="localhost_access_log" suffix=".txt"
                     pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      		<Context path="/" docBase="/hami-portal-1.0-SNAPSHOT" reloadable="true"></Context>
            </Host>
          </Engine>
        </Service>


http://www.kler.cn/a/531340.html

相关文章:

  • 【leetcode练习·二叉树拓展】快速排序详解及应用
  • React中useState()钩子和函数式组件底层渲染流程详解
  • docker gitlab arm64 版本安装部署
  • 031.关于后续更新和指纹浏览器成品
  • Linux环境下的Java项目部署技巧:安装 Mysql
  • 一个开源 GenBI AI 本地代理(确保本地数据安全),使数据驱动型团队能够与其数据进行互动,生成文本到 SQL、图表、电子表格、报告和 BI
  • 评估分类模型性能:ROC曲线和AUC值
  • 麦芯 (MachCore) 应用开发教程 6:一台设备中多台电脑主从机的设置
  • PentesterLab 24周学习计划
  • 【游戏设计原理】97 - 空间感知
  • 【翻译】OpenAI Deep Research (2025年2月2日OpenAI发布)
  • Spring中@Conditional注解详解:条件装配的终极指南
  • 8、面向对象:类、封装、构造方法
  • pandas中的关系型连接操作
  • 1.5 Go切片使用
  • 浅谈量化感知训练(QAT)
  • 机器学习--学习计划
  • Intel 与 Yocto 项目的深度融合:全面解析与平台对比
  • 变形金刚多元宇宙
  • 【汽车电子软件架构】AutoSAR从放弃到入门专栏导读
  • 【探索篇】探索部署离线AI在Android的实际体验
  • ChatGPT提问技巧:行业热门应用提示词案例--办公应用
  • SpringAI 人工智能
  • Pandas基础08(分箱操作/时间序列/画图)
  • [SAP ABAP] 性能优化
  • 解决注入线程池的栈溢出问题