项目部署到服务器上,有两种方式,一种 jar 包,一种 war 包
jar包 部署时,后续的域名配置,SSL证书等在nginx中配置
war包 部署时,后续的域名配置可以在tomcat中配置就好,修改项目时直接丢到webapps下就行
jar包
直接在IDEA 中将项目打成一个jar包,所以的修改均在打包之前完成。
jar包方式启动,也就是使用spring boot内置的tomcat运行。服务器上面只要你配置了jdk1.8及以上即可,不需要外置tomcat。另外 jdk安装【参考】
准备
环境
IDEA +Maven
Linux+JDK( ≥1.8)+nginx
开始
1、打开idea编辑器下方的terminal窗口,这也是idea编辑器自带的命令提示符,通过cd进入到项目目录下
2、打包
mvn clean install -Dmaven.test.skip
稍等一会,看到 BUILD SUCCESS 后说明已经打包完成!
3、此时到项目目录下会看到Target目录,在Target目录下有打成的jar文件
注:******将依赖包也打包进来
增加build插件:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com</groupId> <artifactId>EnctyptParamTool</artifactId> <version>1.0-SNAPSHOT</version> <properties> <java.version>1.8</java.version> <spring-cloud.version>Greenwich.SR1</spring-cloud.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <fastjson.version>1.2.32</fastjson.version> </properties> <dependencies> <!--辅助工具类--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.5.9</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <!--这部分可有可无,加上的话则直接生成可运行jar包--> <!--<archive>--> <!--<manifest>--> <!--<mainClass>${exec.mainClass}</mainClass>--> <!--</manifest>--> <!--</archive>--> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build> </project>
具体参考:1、maven将依赖第三方包打包(package)到jar中
部署
1、上传到服务器上
任意新建一个文件夹,将 打包好的 jar包 移入
2、运行
nohup java -jar ***.jar >log.txt &
这种方法会把日志文件输入到你指定的文件中,没有则会自动创建,进程会在后台运行。
3、访问
ip+端口
4、nginx代理
nginx安装配置参考:链接
参考:链接
配置nginx.conf:
vim /etc/nginx/nginx.conf 打开配置文件
vim /etc/nginx/conf.d/default.conf
只需该改动2处即可:
server { listen 80; server_name span.fun; #换上你准备的域名 #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { #配置访问的项目路径(注:这里重点) proxy_pass http://47.100.207.28:8000; #此处一定加冒号,不然重启服务报错 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 100m; root /usr/share/nginx/html; index index.html index.htm; }
5、配置SSL证书,https访问
参考:链接
server { listen 443 ssl; server_name span.fun; #SSL配置 ssl_certificate "**.pem"; #将domain name.pem替换成您证书的文件位置+名称。 ssl_certificate_key "*.key"; #将domain 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 / { #配置访问的项目路径(注:这里重点) proxy_pass http://47.100.207.28:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 100m; root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { # root /usr/share/nginx/html; } } # 接收http请求,转到https server { listen 80; server_name span.fun; #需要将yourdomain.com替换成证书绑定的域名。 rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。 location / { #配置访问的项目路径(注:这里重点) proxy_pass http://47.100.207.28:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; index index.html index.htm; } }
此处需注意:
若出现错误:ERR_SSL_PROTOCOL_ERROR
参考:链接
6、域名访问
域名
war包
参考:链接