本文介绍:如何将java后端代码部署到阿里云的以CentOS7为操作系统轻量应用服务器上
前后历经一周时间搭建好服务器,成功在浏览器中访问后端代码,欣慰😁。最大的所得是:做某件事前对此事有个全局了解很重要!!!
前言:如果长期使用服务器并绑定域名以便开放访问就需要网站备案: ICP备案前准备概述
备案的几个重点,事关服务器和域名的选择
- 部分云服务器需购买三个月及以上(非常非常重要!!!)
- 域名的顶级域名已获工信部批复
- 域名注册商已获工信部批复
关于微信小程序的其他注意事项
- 请求域名在request合法域名中
- 基于 https 协议
- TLS 版本 1.2+(解决微信小程序要求的TLS版本必须大于等于1.2的问题)
服务器
学生参加阿里云的开发者成长计划可免费获得一个2个月的云服务器ECS,答题后可免费续费4个月(共6个月) 阿里云开发者成长计划–学生优惠
1. 选购
- 各地域服务器的速度
ping 各地域服务器所对应的IP地址
地区 | 服务器ip |
---|---|
华东 1 | oss-cn-hangzhou.aliyuncs.com |
华东 2 | oss-cn-shanghai.aliyuncs.com |
华北 1 | oss-cn-qingdao.aliyuncs.com |
华北 2 | oss-cn-beijing.aliyuncs.com |
华北 3 | oss-cn-zhangjiakou.aliyuncs.com |
华北 5 | oss-cn-huhehaote.aliyuncs.com |
华南 1 | oss-cn-shenzhen.aliyuncs.com |
香港 | oss-cn-hongkong.aliyuncs.com |
美国西部 1 (硅谷) | oss-us-west-1.aliyuncs.com |
美国东部 1 (弗吉尼亚) | oss-us-east-1.aliyuncs.com |
亚太东南 1 (新加坡) | oss-ap-southeast-1.aliyuncs.com |
亚太东南 2 (悉尼) | oss-ap-southeast-2.aliyuncs.com |
亚太东南 3 (吉隆坡) | oss-ap-southeast-3.aliyuncs.com |
亚太东北 1 (日本) | oss-ap-northeast-1.aliyuncs.com |
欧洲中部 1 (法兰克福) | oss-eu-central-1.aliyuncs.com |
中东东部 1 (迪拜) | oss-me-east-1.aliyuncs.com |
- 选择系统统镜像和应用镜像(轻量应用服务器)
阿里云轻量应用服务器镜像微分系统镜像和应用镜像,系统镜像是指纯净版操作系统;应用镜像是在原操作系统基础上安装了WordPress、LAMP、Node.js等应用程序。
2. 服务器基础设置
常用端口及其作用
端口 | 作用 |
---|---|
8888 | 宝塔默认端口 |
80 | http默认端口 |
443 | https默认端口 |
22 | ssh工具默认端口 |
3306 | mysql数据库默认端口 |
xxxx | 后端项目端口 |
二、配置服务器
1. 通过ssh工具登录服务器
ssh工具可以选择Putty、Xshell,作者选择的是Xshell。通过ssh可以远程连接服务器,操纵并配置服务器
使用ssh工具连接Linux服务器
ssh工具xshell软件连接linux服务器
使用Xshell可能会出现此问题,本篇文章可以解决:xshell出现WARNING!The remote SSH server rejected X11 forwarding request
2. 配置开发环境
2.1 宝塔面板配置环境
首先安装宝塔面板,以方便管理服务器
阿里云ECS服务器安装宝塔BT面板
一定要根据服务器中的操作系统来选择对应的安装命令!宝塔Linux面板命令(安装宝塔命令)
2.2 进入宝塔面板
安装好宝塔后,会显示外网面板地址,在浏览器中访问,并输入提供的用户名和密码即可
2.3 在宝塔的配置开发环境
首次进入宝塔面板,会弹出选择LNMP和LAMP,这里需根据后端实际的开发环境来选择响应的软件和版本,安装方式选极速安装就行(还需后续配置,以访问后端接口)
作者只安装Nginx、jdk1.8;作者需求是:在CentOS7上运行后端java项目;设计技术:
SpringBoot
、MyBatis
。因为用springboot
开发出来的jar包,已经内置了tomcat。所以我们不用再CentOS中部署tomcat环境了,只需要把xx.jar
这个文件上传到服务器,然后用java命令启动即可。具体操作将在此部分讲解七、部署后端项目
作者在宝塔中只安装了Nginx1.18,而jdk在宝塔中是和tomcat绑定的,因只需要jdk,所以作者通过命令行的方式在ssh工具中单独安装并配置环境变量
2. 命令行配置环境
使用命令行(ssh工具–Xshell/putty)配置环境比较麻烦,需要对Linux命令较为了解
Linux基本命令
按键/命令 | 作用 |
---|---|
Insert | 编辑状态 |
Esc | 退出编辑 |
:wq | 保存并退出 |
cd | 切换路径 |
ls | 显示指定工作目录下之内容 |
cat /proc/version | 查看centos系统版本信息 |
lsof -i :portnumber | 查看端口占用情况,#portnumber要用具体的端口号代替 |
三、选购域名
选购域名后需要实名认证
选购网站:万网
活动:一元选购域名
解析域名
如果只能访问不带www的域名,那么在域名解析中需要检查主机记录是否有@
或www
的
四、站点管理–宝塔
1. 添加站点
通过宝塔添加站点
2. 添加域名
添加能通过浏览器访问的域名。一般要添加带www
的和不带www
的域名,以便能通过浏览器访问到两者
3. 安装证书
暂不操作,选购证书后,见五、SSL证书
中安装证书
部分
五、SSL证书
SSL证书是什么:网站安装SSL证书后,使用https加密协议访问网站,可激活客户端浏览器到网站服务器之间的"SSL加密通道"(SSL协议),实现高强度双向加密传输,防止传输数据被泄露或篡改。
SSL证书的作用
1. 选购
阿里云 SSL证书 选购页面
2020阿里云免费SSL证书申请方法流程(图文教程)
2. 安装证书
- 通过命令行在Nginx服务器上安装证书
在Nginx(或Tengine)服务器上安装证书–命令行 - 通过宝塔在Nginx服务器上安装证书
宝塔面板 SSL 证书安装部署
首先在网站菜单栏下添加站点,在设置中选择SSL–>其他证书,将下载的ssl证书的指定文件复制放到对应的框中,在证书夹
中点击部署
六、域名备案
2016年备案大体流程(可参考)
关于域名备案的几个困惑点:
- 备案是将网站主办人的资料、网站的资料在工信部作登记,目的是管控网络空间
- 备案一般得半个月,不同省份效率不同,请尽早备案
- 备案是免费的
- 可以跨省备案,如果不在原省份(身份证上的省份)备案可能需要提供居住证
- 网站名字很重要,填不好可能会被打会
在阿里云备案填写信息的过程中有任何问题,可参考阿里云备案首页的常见问题,能解决大部分问题–阿里云备案
七、部署后端项目
部署java项目的大致流程了解:java项目怎么部署到linux服务器
1. 打jar包
作者使用maven中的package进行打包
可参考此阅读量较多的文章(作者未进行测试):IDEA+Maven 打jar包
2. 上传jar包到服务器
使用支持FTP协议的工具,如Xftp、FileZilla
3. 配置数据库
3.1 服务器的数据库中创建表
使用ssh工具访问数据库,
create database database_name;
use database_name;
source xx.sql
配置数据库的关键点:
- 设置服务器的访问路径、端口
- 服务器访问端口须在服务器的安全组或防火墙中开放
- 建议设置远程访问服务器的数据库以便操作
4. 服务器部署jar包
- 进入到jar包所在文件夹:
cd jar包所在目录
- 输入命令:
java -jar xxx.jar
- 在浏览器中输入url并访问
jar包后台运行
如按照上述命令操作,在退出ssh工具,就无法在服务器访问,如需使jar包在后台长期运行,任何时间能被浏览器访问,则需按一下步骤操作
输入命令:nohup java -jar xxx.jar &
输入nohup命令之后会给出提示:nohup: ignoring input and appending output to ‘nohup.out’
,这是正常提示,直接打回车就可以。同时,会在jar的同级目录下生成nohup.out
文件
终止jar包运行
- 查看进程:
ps -ef|grep java
- 终止进程:
kill -9 进程号
八、浏览器中访问后端接口
1. 配置nginx
以下配置nginx借助于宝塔面板
设置已添加的站点,修改配置文件以下部分:
- ssl证书(ssl_certificate)
将服务器上的ssl证书的路径写到配置文件里。如在服务器根目录下新建cert
文件夹,将证书.pem
和.key
存放其中。
- 设置location域
在server域
中添加一个location域
中添加访问路径。
结合上图中的server_name
理解:当在浏览器地址栏中访问server_name
中的域名,nginx将自动转发到后端项目端口
关于nginx的反向代理: Nginx配置——反向代理
详解 nginx 配置文件及构建 web 虚拟主机
nginx配置文件nginx.conf详细讲解
九、补充问题
上文中操作过程中可能存在的问题
- 清空缓存
浏览器访问目标路径失败后,需清除缓存再输入url访问,以避免浏览器显示之前的错误信息- ctrl+shift+delete
- 按F12进开发者模式+右键单击浏览器左上角的刷新按钮+选择清空缓存并硬刷新
本文汇集作者在搭建服务器时遇到的种种问题,并结合已有文章整理而成,希望能为大家节省时间,少走弯路。如果大家有任何问题或补充欢迎留言!