云服务器部署
一、购买腾讯云服务器
腾讯学生云服务器,网站为链接,我选择的是第一个,你也可以根据流量来选择,然后立即购买后点立即购买,里面选Centos版本,没有域名可以+9源选购一个域名
点击管理控制台,进入管理界面
二、简单配置
2.1 进入控制台
进入控制台,点击购买的服务器->管理,上面还会有公网IP,后序需要使用的
2.2 配置防火墙
如果想从外网访问服务器的某个端口,我们需要为这个端口设置添加规则
- 点击防火墙按钮,添加规则
- 因为我们需要搭建个人博客,因此需要开放80端口,还需要访问MySql还需要添加3306端口,图中已添加80端口,再来添加下3306端口,选择MySql(3306)进行快速添加
2.3 配置访问密码
配置服务器登录密码,即远程登录root时的密码,按图中顺序点击配置
然后关机后就可以通过新密码远程登录了
三、远程ssh登录连接服务器
windows下可以使用Xshell、Putty、MobaXterm等软件,我一般使用MobaXterm
设置如下
配置完成后,点击左侧刚才新建的session,输入密码即可连接,连接后显示如下图所示,这个软件的左侧是文件区,右侧是命令行区
四、云服务器安装软件
4.1 安装JDK
yum -y list java*
可查看可用版本
- 命令行输入
yum install -y java-1.8.0-openjdk-devel.x86_64
进行安装 - 完成后,输入
java -version
测试是否安装成功,成功返回如下
4.2 安装MySql
只是部署简单Spring boot不使用MySql,可以暂不安装,直接看部署Spring boot
- 执行
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
下载MySql 5.7安装包
- 执行
yum install -y mysql-server
进行安装 systemctl start mysqld
启动mysql- 依次执行
systemctl enable mysqld
和systemctl daemon-reload
设置mysql自启动 - mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码,执行
cat /var/log/mysqld.log
查看临时密码
- 执行
mysql -u root -pXXXXX
进行登录,XXXXX为更改的密码
- 更改密码
执行SHOW VARIABLES LIKE 'validate_password%';
查看密码策略
执行set global validate_password_length=6;
设置策略 密码长度为6
执行set global validate_password_policy=0;
设置策略为LOW 0
执行alter user user() identified by "XXXXX";
更改密码
执行update mysql.user set authentication_string=password("XXXXXX") where user='root';
更改密码,XXXXX为更改的密码
执行flush privileges;
刷新权限
Ctrl+D退出MySql命令行 - 修改Mysql数据库的编码格式为UTF-8
执行vi /etc/my.cnf
,在最前面添加如下[client] default-character-set=utf8
执行`systemctl restart mysqld`重新启动即可
- 至此重新登陆,输入密码即可完成mysql的访问
- Idea中测试连接云服务器上的MySql
这样这个数据库不仅仅可以云服务器中的进程进行访问,也可以在其他任何连网设备上通过ip地址+端口号+用户名+密码进行访问
4.2 安装Redis
只是部署简单Spring boot不使用Redis,可以暂不安装
-
下载解压
执行yum install -y gcc
执行wget http://download.redis.io/releases/redis-5.0.14.tar.gz
执行tar -zxvf redis-5.0.14.tar.gz
解压扫描二维码关注公众号,回复: 13169883 查看本文章 -
编译
执行cd redis-5.0.14
执行make
-
安装
执行make install PREFIX=/usr/local/redis
-
前台启动
执行cd /usr/local/redis/bin/
执行./redis-server
-
后台启动
执行cp /root/redis-5.0.14/redis.conf /usr/local/redis/bin/
,从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
执行vi redis.conf
修改 redis.conf 文件,把 daemonize no 改为 daemonize yes
执行./redis-server redis.conf
后台启动 -
设置开机启动
执行vi /etc/systemd/system/redis.service
添加如下内容[Unit] Description=redis-server After=network.target [Service] Type=forking ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.target
设置开机启动,依次执行
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service
执行ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
创建redis命令软连接
测试 redis
五、Spring boot项目部署
5.1 项目建立
- 创建项目
- 编写简单程序
- 本地浏览器测试
- 更改项目从80端口启动
- 打包
成功后出现这个包
5.2 上传项目到云服务器
- 先在文件管理器中打开
- 拖到文件到服务器
5.3 运行
-
执行
netstat -anp | grep 80
查看是否有80端口被占用
如下图80未被占用,3306被mysqld占用
-
执行
java -jar TestHomePage-0.0.1-SNAPSHOT.jar
前台运行,关闭终端后进程也会被关闭,因此一般用nohup java -jar TestHomePage-0.0.1-SNAPSHOT.jar > log.file 2>&1 &
后台运行,上面的2 和 1 的意思如下:
0 标准输入(一般是键盘)
1 标准输出(一般是显示屏,是用户终端控制台)
2 标准错误(错误信息输出)
将运行的jar 错误日志信息输出到log.file文件中,然后(>&1)就是继续输出到标准输出(前面加的&,是为了让系统识别是标准输出),最后一个&,表示在后台运行运行结果如下
-
输入公网IP远程浏览器访问
5.4 停止
- 执行
netstat -anp | grep 80
查看80端口占用进程,并记住进程号 - 执行
kill pid
停止进程
六、绑定域名
6.1 购买域名
购买服务器的时候,选购了域名
6.2 配置域名
- 进入域名控制台实名认证
- 点击解析,添加记录
添加记录
- 输入域名进入
七、博客部署
同理打包自己的博客,进行部署,后序补充
至此,就基本结束了,其他springboot项目或者个人博客都可以通过这种方式部署
参考
SpringBoot项目部署到阿里云服务器详细步骤
记录购买阿里云服务器并成功部署SpringBoot项目的全过程
Centos7安装Redis
参考的很多博客有些较杂糅,或者老旧,本篇实尝试的是较为简洁方法,一步步实际操作并记录,因此较为准确