RDS购买与配置
- RDS需要配置白名单才能访问,学习用的话,就配置0.0.0.0/0,全开
- 注意内网连接和外网连接
ECS购买与配置
注意购买的区域要和RDS在同一区域(北京、上海等,可用区A B C等可以不一样),这样可以通过内网访问。如果不是同一个区域,则通过外网访问
配置IDEA连接ECS
实现文件传输和命令行窗口
打开IDEA
,点击Tools
,点击Deployment
,打开Browse Remote Host
,连接远程服务器。

打开Configuration
,打开配置选项,增加SFTP配置。



JDK的安装与配置
进入IDEA
,打开Tools
,点击Start SSH Session

开启后来到窗口安装JDK。

上传JDK,解压tar -zxvf jdk-8u202-linux-x64.tar.gz

解压后重命名为:JDK1.8。
配置环境变量
来到根目录etc
,找到profile
文件,在最后面增加三行。
1 2 3 4 5 6 7
| # gedit /etc/profile 在最后添加下面代码:
export JAVA_HOME=/root/jdk1.8 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
|
使配置生效的命令
校验配置是否生效java -version
后端Java项目发布
SpringBoot多环境打包
新增生产环境配置文件:application-prod.properties
,IDEA在启动的时候可以指定prod。
-Dspring.profiles.active=prod

prom.xml设置打包后的jar命名。
1 2 3
| <build> <finalName>/dist/${artifactId}</finalName> </build>
|
点击install
打包,如果打包失败,需要把测试单元的数据注释。

original
是不包含第三方依赖,只有自己的代码。
新建文件,做多一层映射。

上传文件,点击upload here 就可以。

进入/root 目录,输入java -jar wiki/wiki.jar
运行的是测试环境,如果想切换到生产。可以使用
java -jar -Dspring.profiles.active=prod wiki/wiki.jar
一键启动脚本
使用nohup可以让程序以后台的形式执行,否则单纯的用java命令启动,控台一关闭,程序就关闭了
deploy.sh
,注意是在windows下编写的,和linux的换行有区别,需要转换下。放在任意目录下都没可以,它是从根目录下找wiki。
deploy.sh 脚本用于启动wiki.jar 项目。
1 2 3 4 5 6 7 8 9 10 11 12
| #!/bin/bash echo "publish----------"
process_id=`ps -ef | grep wiki.jar | grep -v grep |awk '{print $2}'` if [ $process_id ] ; then sudo kill -9 $process_id fi
source /etc/profile nohup java -jar -Dspring.profiles.active=prod ~/wiki/wiki.jar > /dev/null 2>&1 &
echo "end publish"
|
vim deploy.sh
按shirt打: 输入set ff=unix
按回车,转换成linux的换行。
输入:wq
保存并退出。
执行脚本:sh deploy.sh
就不会错了。
ps -ef | prep java
查看正在执行的java相关的进程。
nginx安装与配置
安装nginx:yum install nginx
启动nginx:service nginx start/stop
修改/etc/nginx/nginx.conf
,将启动用户从nginx变成root,否则会有权限问题
查看是否成功,curl http://8.136.214.129
。
前端Vue项目发布
编译后的静态文件在dist文件夹下面
web.conf
1 2 3 4 5 6 7 8 9 10 11
| server{ listen 80; server_name wiki.zikaols.com;
location / { alias /root/web/; index index.html; try_files $uri $uri/ /index.html; }
}
|
自定义的nginx配置可以放到这个目录下:/etc/nginx/conf.d/*.conf
,必须以.conf
结尾,nginx
会自动识别。
域名准备
- 只要是买国内的ECS,都需要备案。备案按提示来不复杂。否则可以考虑用香港服务器,或用IP访问而不用域名。
- 多个项目可以用二级域名区分开,生产正式项目还是推荐一个项目一个域名。
nginx配置域名
网站域名配置
web.conf
1 2 3 4 5 6 7 8 9 10 11
| server{ listen 80; server_name wiki.zikaols.com;
location / { alias /root/web/; index index.html; try_files $uri $uri/ /index.html; }
}
|
nginx配置刷新:nginx -s reload
。
服务端域名配置
反向代理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| server{ listen 80; # server_name 8.133.184.84; server_name wiki-server.zikaols.com;
location / { proxy_pass http://localhost:8880;
# 针对websocket,需要增加下面的配置 proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 代理时长设置600秒,默认60秒,websocket超时会自动断开 proxy_read_timeout 600s; }
}
|
解决前后端交互Long类型精度丢失的问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| package com.javami.wiki.config;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
@Configuration public class JacksonConfig { @Bean public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.createXmlMapper(false).build(); SimpleModule simpleModule = new SimpleModule(); simpleModule.addSerializer(Long.class, ToStringSerializer.instance); objectMapper.registerModule(simpleModule); return objectMapper; } }
|