阿里云或linux服务器配置https及使用nginx启用https并运行springboot jar包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_27741463/article/details/83089688
  1. 首先需要服务器和一个可连外网的域名。

  2. 在阿里云后台申请ssl证书,为域名配置证书并下载for nginx证书文件保存好,后面会用。参考:https://jingyan.baidu.com/article/a3aad71aeceea0b1fb00969c.html

  3. 在服务器中安装nginx,安装时不指定安装目录,则默认安装在/usr/*的相关子目录下,安装nginx时注意命令./configure可能会有问题,用./configure --with-http_ssl_module,不要直接用./configure 就可以了。参考:https://www.cnblogs.com/wyd168/p/6636529.html。

    安装完成后启动nginx可能遇到libpcre.so文件找不到的问题,错误信息为:error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory,需要为文件建立符号链接,参考:https://blog.csdn.net/guodongxiaren/article/details/40950249

    再次启动nginx,可能遇到端口占用问题,nginx: [emerg] bind() to 0.0.0.0:* failed (98: Address already in use) ,可查看占用进程并杀死后再次启动nginx,如图即安装并启动测试成功:

    ps -ef|grep nginx
    

    在这里插入图片描述

    // 杀死进程
    kill -QUIT 28286
    // 启动nginx
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    
  4. 配置nginx配置文件,参考:https://www.jianshu.com/p/d785ac81b0b4
    启动时遇到 nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/*..错误:参考 https://www.jianshu.com/p/a2bd2c82ce3d
    修改后再次启动,遇到错误
    nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
    查看443端口,发现被httpd占用,结束之:

    service httpd stop
    

    在这里插入图片描述
    再次启动,成功。

  5. 在服务器中运行打包好的springboot工程,工程配置及打包部署过程参考:https://www.jianshu.com/p/d785ac81b0b4 ,注意在工程的application.yml文件中设置端口号,和nginx监听端口对应,也可在启动工程时指定端口号,例如: java -jar demo.jar --server.port=3000

(如果在本地运行测试工程,可直接在工程中配置https,见:https://www.cnblogs.com/lianggp/p/8136540.html

猜你喜欢

转载自blog.csdn.net/sinat_27741463/article/details/83089688