一、准备工作
- 服务器一台(可以购买阿里云轻量应用服务器,比较便宜)
- SSL证书 (可以注册阿里云免费证书,安全性较差)
- 域名一个 (可以在万网上购买并要进行备案)
- 本地打包好的项目(博主是使用springboot开发,所以打包好的是jar包而不是war包)
ftp
客户端
首先在服务器上搭建好环境(数据库,jdk之类的),因为演示的项目是由SpringBoot
搭建,有内置运行容器,所以不用Tomcat。
1)SSL证书
可以上阿里云申请免费版的SSL
证书,也可以访问FreeSSL
网站进行注册免费的证书
2)域名备案成功后需要进行解析
到阿里云控制台,进入域名管理
3)解析完成后在这块点击证书申请,填写相关信息
申请好后经过审核 ,然后便可以点击下载
4)注入ServletWebServerFactory
在我们SpringBoot
项目中的启动类中注入ServletWebServerFactory
:
@Bean public ServletWebServerFactory servletContainer(){ TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addAdditionalTomcatConnectors(createHTTPConnector()); return tomcat; } private Connector createHTTPConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); //同时启用http(8080)、https(8866)两个端口 connector.setScheme("http"); connector.setSecure(false); connector.setPort(8080); connector.setRedirectPort(8866); return connector; }
然后在application.properties
配置文件中添加
这里注意是server.ssl.key-store-password
而不是 server.ssl.key-password
5)打包项目
将自己打包好的项目和下载下来的证书
放到usr/develop/project
文件夹下,文件夹目录可以自己选择。
为了方便我自己建了几个脚本方便运行。
vim start.sh
建立启动脚本,内容如下:
nohup java -jar 自己的项目名称.jar &
vim stop.sh
建立停止脚本,内容如下:
PID=$(ps -ef | grep 自己的项目名称.jar | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill $PID kill -9 $PID fi
vim run.sh
建立运行脚本,内容如下
echo stop application source stop.sh echo start application source start.sh
然后在终端输入 ./run.sh
如果提示没有权限,则输入
chmod u+x *.sh
然后再输入 ./run.sh
这样我们的程序就启动了,然后我们在浏览器上就可以通过https://域名:端口号
访问自己的项目了