美文网首页
SpringbootWeb项目部署

SpringbootWeb项目部署

作者: Trade丿Life | 来源:发表于2020-03-22 16:16 被阅读0次

Web项目部署

  • 本部署是使用了两个域名(博客和web项目)访问同一阿里云主机的两个服务
  • 本文着重说明web部署,博客部署阿里云参考博客部署参考
yum(CentOS中的Shell前端软件包管理器自动处理依赖性关系,并且一次安装所有依赖的软件包)
web项目部署详情
  • yum update

  • yum install git

  • mkdir App

  • cd App/

  • git clone 项目地址

  • yum install maven(依赖管理,并且maven中安装了jdk(编译))

  • cp src/main/resources/application.properties src/main/resources/application-production.properties(复制一个新项目为了保证原项目的properties独立性,个人信息也不会泄露)

  • 如果要更新项目进入到community下使用git pull

  • 在复制项目的application.properties中配置服务端口server.port=8087

  • mvn clean compile flyway:migrate -Pproduction(每次修改文件都有执行mvn package,-Pproduction是指定为生产环境的profile)

  • Ningx反向代理配置文件(参考下面)

  • java -jar -Dspring.profiles.active=production target/community-0.0.1-SNAPSHOT.jar(部署项目要在cd /root/App/communitycode(在该目录下打包))

  • mvn flyway:migrate - Pproduction(执行数据库脚本)

  • mvn flyway:repair(修复错误的数据库脚本,已经执行错误的sql需要通过该命令解决)

  • mvn clean compile flyway:repair -Pproduction

  • systemctl restart nginx.service(修改完nignx.conf后刷新页面反向代理才生效)

项目路径/root/App/communitycode/src/main/resources/application-production.properties

迁移数据库 配置mvn profile 防止信息泄露,在 ~/.m2/settings.xml文件中配置maven的profile


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <localRepository/>
        <interactiveMode/>
        <offline/>
        <pluginGroups/>
        <servers/>
        <mirrors/>
        <proxies/>
        <profiles>
        <profile>
            <id>production</id>
            <properties>
                <db.url>jdbc:mysql://47.115.20.86:3306/autodidact</db.url>
                <db.user>root</db.user>
                <db.password>123456</db.password>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>dev</id>
            <properties>
                <db.url>jdbc:h2:~/community</db.url>
                <db.user>sa</db.user>
                <db.password>123</db.password>
            </properties>
        </profile>
       </profiles>
        <activeProfiles/>
    </settings>

linux数据库脚本执行错误后,修复仍然不能解决问题

  • mvn clean compile flyway:repair -Pproduction
    repair修复脚本

Unable to access jarfile target/community-0.0.1-SNAPSHOT.jar

  • mvn package
Nginx.conf配置
  • 阿里云默认的库下载的是fedora版本的nginx,所以我们应该配置的是位于 etc/nginx/ 下的 nginx.conf 。

  • 我们先不急着打开这个文件,因为我并不建议直接配置这个文件,我们应该先创建一个新的文件,然后采用include的方式,将这个文件包含进nginx.conf中。S

  • 操作如下在/etc/nginx/目录下创建一个文件夹 叫 vhost

cd /etc/nginx/
mkdir vhost
cd vhost
vim web.conf
#静态资源
server {
    listen 80;
    server_name ccc.test.com
    root /home/www/website;
 
}
server{
        listen       80;
        server_name     forum.wenmrong.com;
        location / {
                
                proxy_pass http://127.0.0.1:8087;
                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_redirect off;
       }
}
  • 动态的服务指定一个http请求( http://127.0.0.1:8087)
  • 127.0.0.1是localhost指向的地址也就是阿里云服务器的地址,8087是部署的端口在application-production.properties设置
conf.png
  • 静态文件直接指定一个跟路径(root /home/www/website)
  • 打开/etc/nginx/目录下的nginx.conf文件
    vi /etc/nginx/nginx.conf
vhost.JPG
  • 如果以后还想添加新的网站,也可以在vhost目录下新建一个conf配置文件。

  • 在刚才我们自己写的web.conf配置文件中root的路径相应路径建立博客的目录:

cd /home
mkdir www
cd /www
mkdir website

相关文章

  • SpringbootWeb项目部署

    Web项目部署 本部署是使用了两个域名(博客和web项目)访问同一阿里云主机的两个服务 本文着重说明web部署,博...

  • Django+nginx+uwsgi部署多个项目

    如需使用一个服务器地址部署单个项目,请看文章--> 单个项目部署 以下为在部署了单个项目基础上进行部署多个项目 1...

  • SpringBoot Redis篇 (三)

    上篇文章介绍了SpringBootWeb:SpringBoot Web篇(二),方便大家快速入门、了解实践Spri...

  • 使用Dockerfile部署项目

    使用Dockerfile部署项目 以Nginx部署项目为例 Docker安装及Docker私有仓库部署流程[htt...

  • docker 常用部署Demo

    在此记录常用Docker 部署项目的几个Demo ,学习总结,同时方便后期提高部署项目速度。 Docker 部署 ...

  • storm集群部署和项目部署

    storm集群部署和项目部署 storm项目部署 使用maven命令把依赖的jar打到target/depende...

  • Django 项目 Linux 远程部署记录

    Django 项目 Linux 远程部署记录 Django 项目部署。该项目名称为 shop-search,配置端...

  • piplin部署

    这里只是讲piplin的部署,部署特别简单,就是首先进入到项目里,点击右上角的“部署计划” 再点击“开始部署”项目...

  • k8s-实际项目部署案例

    实际项目部署案例 容器交付流程 在K8s平台部署项目流程 在K8s平台部署Java网站项目 构建项目镜像 数据库搭...

  • nginx+uwsgi 部署 django 代码(centos

    django 项目的部署用好几种部署方式,现在简单说下用nginx + uwsgi 来部署django项目。及ng...

网友评论

      本文标题:SpringbootWeb项目部署

      本文链接:https://www.haomeiwen.com/subject/pwdvyhtx.html