SpringBoot 个人博客项目部署上线阿里云服务器,jar包部署到云服务器上,同时设置nginx域名解析,ssl配置等等
大家好,我是一位在java学习圈中不愿意透露姓名并苟且偷生的小学员,如果文章有错误之处,还望海涵,欢迎多多指正
前言
这不前些天参考追梦写的个人博客的前端页面(也就是html),然后上手在自己的idea上码了后端的代码(用到了springboot,mybatis,thymeleaf,logback日志,pagehelper分页插件等技术),前端进行了修改以及改进(用到了HTML,css,JavaScript,jQuery,semantic-ui(可以理解为一个提前写好的css库)),整体而言是一个不错的炼手项目(同时内嵌另一个利用爬虫爬取疫情数据,通过echarts来实现数据可视化,实时展示疫情的动态的项目),具体代码请移步代码地址 本项目已部署完毕,成品请参考:成品地址,由于关于页内嵌音频首次访问速度较慢请谅解
第 0 步:代码通过maven工具package打成jar包
双击package打包,打包完成后即可在target文件夹中找到对应的jar包
第 1 步:购买阿里云服务器
这里我买的是ECS突发性能型t6,买了一年98左右(首次购买的价格),相比于其他的服务器,阿里云的服务器价格真心不错 点击购买来到这,我买的是华东1(杭州),操作系统是centos 8的,其他的配置默认即可 购买成功后即可在控制台的实例中看到自己购买的阿里云服务器,点击更多然后选择密码/密匙,开始重置实例密码,然后选择网络与安全组,点击安全组配置,点击配置规则,有手动添加和自动添加两种,添加你的个人博客需要访问的端口,以及MySQL数据库的3306端口
第 2 步:通过xshell(可以去搜索官网下载,一个代替linux黑框框的客户端)登录访问我们的云服务器,账号默认是root,密码是刚才我们配置的密码
登录后使用 Xftp 上传我们的jar包,我是上传到 /opt/ 该文件夹下,通过java -jar jar包全名,运行该jar,如果没有执行权限需要先执行 chmod +x jar包全名(给这个jar包赋予执行权限)也可通过 nohup java -jar jar包全名 &(在后台执行) 然后就能通过 公网ip:port/home 来访问我们的项目了,是不是感觉很高大尚,厉害的在后面呢。
第 3 步:注册域名(这里我花费了29),域名实名认证,网站备案(我以为要很久,居然三天就备好了)
备案完成后将工信部发给你的备案号添加至网站的底部,然后能点击跳转至工信部的查询页面
第 4 步:安装nginx,配置nginx.conf
登录Xshell,安装nginx,安装完成后找到nginx.conf配置文件,我的配置如下:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream myserver{
# server列表的地址和端口
server 公网ip:port;
}
server {
listen 80;
server_name 域名;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://myserver/;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
server {
listen 443 ssl;
server_name 域名;
ssl_certificate /home/cert/pem文件名;
ssl_certificate_key /home/cert/key文件名;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://myserver;
}
}
}
第 5 步:购买阿里云提供的免费20个ssl证书,0元(每年都有20个)
当然免费的安全性肯定没付费的好,但对我来说足够了 配置好证书后点击下载nginx版本的证书,将下载后的压缩包解压,里面的两个文件上传至服务器,在nginx.conf中进行配置,我是放在了 /home/cert/ 下 最后重启nginx或者重新加载nginx.conf(通过在nginx的sbin目录下使用命令 ./nginx -s reload),我的nginx版本是最新的稳定版 1.20.1
最后直接访问域名即可
|