Linux实战——项目部署上线
前言:安装CentOS后必看
-
首先是网络设置问题,要让虚拟机中的CentOS联网,有很多种网络连接方式。不同连接方式在这不具体描述,建议选择桥接模式(这样CentOS会被分配一个独立的局域网ip),并且在CentOS中要设置配置文件来进行联网
第一步
然后以root用户登录,输入以下命令
1
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
按下i进行编辑(参照vim编辑器的操作),将ONBOOT参数设置为yes,如下所示
1
ONBOOT=yes
按下ESC键退出insert模式,然后输入:wq并回车,即可保存文件并退出
此时重启网络服务
1
service network restart
随后ping本机ip进行测试,若能连通说明设置成功
一.CentOS服务器的基本命令与操作
-
清屏:clear / reset
-
查看本地IP信息
1
2
3
4ifconfig:旧命令,net-tools中的命令
安装命令:yum install net-tools
ip addr:新命令,iproute2中的命令 -
查看公网IP信息
1
2curl cip.cc
curl ifconfig.me -
更改yum安装镜像仓库
1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo
1
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup`
2、下载ailiyun的yum源配置文件到/etc/yum.repos.d/
1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、运行yum makecache生成缓存
1
yum makecache
4、这时候再更新系统就会看到以下mirrors.aliyun.com信息
1
yum -y update
二.CentOS安装JDK
-
首先通过SSH工具连接到服务器,推荐SecureCRT
-
检查jdk是否安装
1
java -version
-
若安装了openjdk,搜索
1
rpm -qa|grep openjdk -i
-
需卸载openjdk
1
rpm -e --nodeps 需要删除的软件
-
新建jdk安装目录
1
mkdir /usr/java
-
推荐使用FileZilla软件上传jdk文件
1
2解压
tar -zxvf jdk-8u191-linux-x64.tar.gz -
将jdk文件夹放在/usr/java目录下
1
mv jdk1.8.0_191/ /usr/java/
-
配置环境变量
1
2
3
4
5
6vim /etc/profile
注意:若没有vim编辑器先安装
export JAVA_HOME=/usr/java/jdk1.8.0_241
export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin -
刷新profile,使其生效
1
source /etc/profile
-
到这里,再次检查jdk版本,安装完成
三.安装Tomcat并部署
-
下载tomcat包放到/home/software目录下
-
解压后将文件夹移动到/usr/local/目录下
-
启动Tomcat(切换到tomcat目录)
1
2cd bin
./startup.sh -
虚拟机:若无法通过内网访问8080端口,需要手动打开
1
2
3
4
5
6
7
8
9查看tomcat是否启动成功 ps -ef|grep tomcat
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=8080/tcp
最后重启Tomcat即可 -
云服务器:设置安全组并开放指定端口(以8080为例)
-
配置第二个Tomcat
1
2
3
4cd conf/
vim server.xml
注意要修改三个端口号:访问端口,关闭端口,重定向端口
并开放相关的端口,确保可以连接 -
连接主机下配置好的端口,出现apache tomcat默认页面则完成配置
四.MariaDB的安装与配置
-
MariaDB开源,且兼容MySQL,建议用MariaDB替换MySQL
-
第一步:打开
https://downloads.mariadb.org/ 并下载对应版本(rpms文件夹)
-
第二步:参考安装文档 点击这里(以CentOS7为例)
-
注意下全包(CentOS对应下载了7个包),根据官方文档一步步安装即可
-
第三步:运行MariaDB
1
2
3# yum install mariadb-server -y //如果已安装可以省略
# systemctl start mariadb.service //启动服务
# systemctl enable mariadb.service //开机启动服务 -
第四步:安全配置
1
2
3
4
5
6
7
8
9
10
11# mysql_secure_installation
1.输入当前密码,初次安装后没有密码,可直接回车
2.询问是否使用`unix_socket`进行身份验证:n
3.为root设置新密码:y
4.输入root新密码
5.再次输入root新密码
6.是否移除匿名用户,建议删除:y
7.拒绝用户远程登录,建议不拒绝:n
8.删除test库,建议保留:y
9.重新加载权限表:y -
第五步:权限配置(打开远程访问数据库权限)
1
2
3# mysql -u root -p
# grant all privileges on *.* to '用户名'@'%' identified by '密码';
# flush privileges; -
到这里为止,就可以通过远程客户端连接数据库了
五.SpringBoot多环境部署
-
开发环境 -dev
-
测试环境 -test
-
生产环境 -prod
-
profile提供多环境支持
1
2
3application.yml -> 主配置文件
application-{name}.yml -> 环境配置(挂件)
激活多环境 -> spring.profiles.active:{name}
六.打包并发布
-
在pom.xml中指定打包方式,默认为jar包
1
<packaging>war</packaging>
-
随后show dependencies ,crtl+F查找以下依赖
1
tomcat-embed-el
-
随后点击以下依赖,右键->Exclude,移除自带Tomcat
1
spring-boot-starter-tomcat
-
然后添加以下依赖
1
2
3
4
5
6<!--添加依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency> -
写SpringBoot启动类
1
2
3
4
5
6
7
8//打包war 增加war包启动类
public class WarStarterCatalinaApplication extends SpringBootServletInitializer {
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
//指向Application的SpringBoot启动类
return builder.sources(CatalinaApplication.class);
}
} -
右侧Maven模块
1
clean -> install
-
随后war包会生成在项目文件夹/target/ 目录下,将war包上传至服务器Tomcat/webapps下,会自动解压war包,若没有自动解压需检查Tomcat服务是否启动。
以上就是将简单的SpringBoot项目发布到Linux的方法,若使用了更多的服务与组件(如redis),同样需要在Linux中配置环境,具体的配置方法可以参考百度/google。