SpringbootWeb项目部署

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



        
        
        
        
        
        
        
        
        
            production
            
                jdbc:mysql://47.115.20.86:3306/autodidact
                root
                123456
            
            
                true
            
        
        
            dev
            
                jdbc:h2:~/community
                sa
                123
            
        
       
        
    

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项目部署)