zoukankan      html  css  js  c++  java
  • Centos中部署项目(前后端)

    后端部署

    SpringBoot项目

    相关博客:https://blog.csdn.net/weixin_39723544/article/details/82012827

    打包项目

    类型

    • jar包

      • 运行:

        执行命令: java -jar xx.jar

      • 优点

        运行方便,适合运行在服务器的脚本项目

    • war包

      • 运行:

        放置在Tomcat的webapps目录中,然后呢启动Tomcat

      • 优点

        方便修改配置,适合web项目

    配置

    • jar包

      1. 修改打包方式

        配置文件:pom.xml

        <!-- 将打包方式修改为jar -->
        <packaging>jar</packaging>
        
      2. 添加spring boot maven插件,指定mainClass

        配置文件:pom.xml

        <build>
        	<plugins〉
        		<plugin〉
        			<groupId>org.springframework.boot</groupId>
            		<artifactId>spring-boot-maven-plugin</artifact>
        			<configuration>
        			<mainClass>com.cherry.framework.FrameworkApplication</mainClass>
        			</configuration〉
        			<executions〉
        			<execution〉
        			<goals〉
        			<goal>repackage</goal>
        			</goals>
        			</execution〉
        			</executions>
        		</plugin>
        	</plugins>
        </build>
        
      3. 通过maven打包

        进入项目根目录(即pom.xml所在文件目录),执行命令

        mvn clean package
        
      4. 运行项目

        进入jar包目录,执行命令

        java -jar ***.jar
        
    • war包

      1. 修改配置文件

        <!-- 将打包方式修改为war -->
        <packaging>war</packaging>
        
        <!-- 移除tomcat依赖或者将tomcat依赖scope改为provide -->
        <dependency>
        	<groupId>org.springframework.boot</groupId>
        	<artifactId>spring-boot-starter-web</artifactId>
        	<!-- 移除嵌入式tomcat插件 -->
        	<exclusions>
        	    <exclusion>
        			<groupId>org.springframework.boot</groupId>
        			<artifactId>spring-boot-starter-tomcat</artifactId>
        	   </exclusion>
            </exclusions>
        </dependency>
        <!-- 或者 -->
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId>
            <!-- 将tomcat依赖scope改为provide -->
          <scope>provided</scope>
        </dependency
            
            
        <dependency>
        	<groupId>javax.servlet</groupId>
        	<artifactId>javax.servlet-api</artifactId>
        	<version>3.1.0</version>
        </dependency>
        
        <dependency>
        	<groupId>org.springframework.boot</groupId>
        	<artifactId>spring-boot-starter-tomcat</artifactId>
        	<scope>provided</scope>
        </dependency>
        
        <!-- 防止使用Tomcat部署后,因为application.properties(或者application.yml)中配置的server.port和server.servlet.context-path失效,导致项目访问资源加载不到的问题 -->
        <build>
            <!-- 应与application.properties(或application.yml)中context-path保持一致 -->
            <finalName>war包名称</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
        
      2. 修改启动类

        启动类继承SpringBootServletInitializer,并实现configure

        @SpringBootApplication
        public class Application extends SpringBootServletInitializer {
        
            public static void main(String[] args) {
                SpringApplication.run(Application.class, args);
            }
        
            @Override
            protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
                return builder.sources(Application.class);
            }
        }
        
      3. 通过maven打包项目

        进入项目根目录(即pom.xml所在文件目录),执行命令

        mvn clean package
        
      4. Tomcat部署

        将war包放置到Tomcat的webapps目录下,启动Tomcat

    配置域名映射

    1. 修改Tomcat的配置文件

      /conf/server.conf

      1. 修改Connector节点的port属性值

        将端口8080改成80

        <!-- 修改前 -->
        <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
        <!-- 修改后 -->
        <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
        
      2. 修改Engine节点的name属性值

        将localhost修改成域名

        <!-- 修改前 -->
        <Engine name="Catalina" defaultHost="localhost">
        <!-- 修改后 -->
        <Engine name="Catalina" defaultHost="test.hutianyao.com">
        
      3. 修改Host节点的name属性值

        将localhost修改成域名

        <!-- 修改前 -->
        <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <!-- 修改后 -->
        <Host name="test.hutianyao.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
        
      4. 在<Host name="xxx.com" ...节点里面最后位置加上节点信息,docBase为项目的绝对路径

        <Context path="" docBase ="D:deploycm" reloadable="false"></Context>
        
    2. 保存配置文件,重启Tomcat

    3. 配置系统的host文件,添加域名配置

      当前服务器IP 域名
      ## 示例
      192.168.85.128 www.testnginx.com
      
    4. 直接使用配置的域名进行访问即可

    前端部署

    Vue项目

    打包项目

    1. 在项目的根目录下执行命令

      npm run build
      
    2. 得到打包后的项目

      执行打包命令之后,项目根目录新生成的dist文件夹即是打包好的项目,可以直接运行

    部署项目

    使用nginx部署

    1. 安装nginx

      http://nginx.org/en/download.html

    2. 配置nginx环境变量

      在/etc/profile 中加入:

      export NGINX_HOME=nginx安装路径
      export PATH=$PATH:$NGINX_HOME/sbin
      ## 示例
      export NGINX_HOME=/usr/local/nginx
      export PATH=$PATH:$NGINX_HOME/sbin
      

      保存,执行命令:

      source /etc/profile
      

      使配置文件生效。

    3. 修改nginx的配置文件

      conf/nginx.conf

      upstream testnginx{
          server localhost:8080;
         #server localhost:8081;
      }
      server {
          listen 80;     #1.你想让你的这个项目跑在哪个端口
          server_name 47.94.76.91;     #2.当前服务器ip,可以直接配置域名
          
          location / {
              root   /home/dist/;     #3.dist文件的位置(需要绝对路径)
              try_files $uri $uri/ /index.html;     #4.重定向,内部文件的指向(照写)
          }
         	location /apis {  #4.当请求跨域时配置端口转发
              proxy_pass http://47.92.76.97:8848/apis; #5.转发地址
          } 
      }
      
    4. 重启nginx

      ## 检查配置
      nginx -t
      ## 重启nginx
      nginx -s reload
      
    5. 如果配置域名的话,需要配置系统host文件,添加域名解析

      当前服务器IP 域名
      ## 示例
      192.168.85.128 www.testnginx.com
      
    6. 访问项目

  • 相关阅读:
    好用的镜头站下载工具
    300+Jquery, CSS, MooTools 和 JS的导航菜单资源
    股票入门2
    MEF学习笔记(6):出口和元数据
    MEF学习笔记(5):迟延加载导出部件
    WinForm控件复杂数据绑定常用数据源(如:Dictionary)(对Combobox,DataGridView等控件DataSource赋值的多种方法)
    wpf 多线程绑定控件
    HTTP 错误 404.2 Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
    ADODB.Stream 错误 '800a0bbc' 写入文件失败。
    'System.Windows.StaticResourceExtension' threw an exception
  • 原文地址:https://www.cnblogs.com/hutianyao/p/13254921.html
Copyright © 2011-2022 走看看