CentOS8 部署服务器环境
远程连接服务器
连接服务器使用的是 xshell 工具,百度下载即可
如果你的服务器是购买的 ( 例如阿里 ),需要去你服务器的安全组进行端口放行才可以使用,详情百度,我这里是新建的 centos 8 的虚拟机,通过虚拟机模拟真实的服务器,想要连接虚拟机需要使用指定命令获取 ip 地址
获取 IP 地址
( 已购买服务器用户可以跳过,可以看看如何设置安全组开放端口 )
因为购买服务器会给一条外网 ip 地址,但虚拟机创建是不会告诉你 ip 地址的,所以需要自己手动运行虚拟机进行获取,使用命令 ifconfig
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
   | [root@192 ~] ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500         inet 192.168.0.105  netmask 255.255.255.0  broadcast 192.168.0.255         inet6 fe80::a234:dff6:40db:cb50  prefixlen 64  scopeid 0x20<link>         ether 00:0c:29:5f:11:17  txqueuelen 1000  (Ethernet)         RX packets 17256  bytes 20130010 (19.1 MiB)         RX errors 0  dropped 0  overruns 0  frame 0         TX packets 4184  bytes 360390 (351.9 KiB)         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536         inet 127.0.0.1  netmask 255.0.0.0         inet6 ::1  prefixlen 128  scopeid 0x10<host>         loop  txqueuelen 1000  (Local Loopback)         RX packets 52  bytes 4320 (4.2 KiB)         RX errors 0  dropped 0  overruns 0  frame 0         TX packets 52  bytes 4320 (4.2 KiB)         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500         inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255         ether 52:54:00:da:e0:e9  txqueuelen 1000  (Ethernet)         RX packets 0  bytes 0 (0.0 B)         RX errors 0  dropped 0  overruns 0  frame 0         TX packets 0  bytes 0 (0.0 B)         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
  | 
 
这里可以看到,我使用了 ifconfig 命令后,下面列出了三个 ip 地址,分别是 192.168.0.105,127.0.0.1,192.168.122.1,筛选后得出我的 ip 地址为 192.168.0.105
双击打开 shell,依次点击【文件】【新建】,然后在弹出的页面左侧选择【连接】,右侧填写服务器信息即可

点击确定后,左侧就会出现你刚刚新建的回话,双击连接,输入用户名和密码就可以操作服务器了,建议用 root 用户登录防止出现权限问题等等。
CentOS 7 注意事项
如果使用的是 centos7 的话查看 ip 地址的命令为 ip addr,结果如下所示:
1 2 3 4 5 6 7 8
   |  1: lnk/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host        valid_lft forever preferred_lft forever 2: enp2s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000     link/ether 00:17:08:49:9d:c5 brd ff:ff:ff:ff:ff:ff
 
  | 
 
2: 后面跟着的 ens33 就是网卡名称,我们可以通过 ifup ens33 来开启网卡,就可以访问网络,但是每次开机都需要手动开启网卡比较麻烦,所以我们需要设置网卡开机自启:
在 centos7 的/etc/sysconfig/network-scripts 目录下,有一个 ifcfg-网卡名称 的文件,使用 vim 打开该文件将 ONBOOT=no 改为 yes,网卡就可以开机自启动了
防火墙设置
如果 IP 地址输入正确,用户名密码也没问题,但还是连不上,那么可能就是防火墙给拦截了,打开虚拟机修改防火墙配置
CentOS 操作防火墙常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
   | # 查看防火墙状态,running是运行中,not running是停止中 firewall-cmd --state
  # 打开防火墙 systemctl start firewalld.service
  # 关闭防火墙 systemctl stop firewalld.service
  # 查看所有开放的端口-ports firewall-cmd --list-all
  # 查询指定端口开放状态 yes开启,no关闭 firewall-cmd --query-port=22/tcp
  # 开放/关闭 指定端口 -- premanent代表永远生效,如果不携带该参数则仅本次有效 firewall-cmd --add-port=22/tcp --permanent firewall-cmd --remove-port=22/tcp --permanent
  # 重启防火墙服务 -- 端口状态修改后重启生效 firewall-cmd --reload
 
  | 
 
了解了以上命令后,就可以将端口开放了,这里只开放 22 剩下随用随开即可。
1 2
   | firewall-cmd --add-port=22/tcp --permanent firewall-cmd --reload
 
  | 
 
部署 JDK 8
百度 Oracle 下载 jdk8 Linux 版本,在 Oracle 官网针对 Linux 版本的 jdk 提供了四种文件包,除了咱们熟悉的 x86 和 x64 之外,还有 rpm 和 tar.gz 的文件,这里我选择了 tar.gz 压缩文件进行安装配置
首先将 tar.gz 文件下载到本地,然后在下载另一个远程操作软件 xftp,它的功能类似 xshell,不过 xshell 是用来模拟终端的,而 xftp 是用来传输文件的,下载好 xftp 后双击打开
依次按照顺序点击左上角的【文件】【新建】,填写信息于 xshell 基本一致,协议的位置选择 SFTP ,然后在下面将用户名和密码直接填入即可
然后连接服务器,将之前下载好的 tar.gz 文件拖拽到服务器 ( 右侧窗口 ) 上传至如下目录,然后解压
- 这里补充一个小技巧,如果 xftp 显示中文文件名乱码的话,按照如下顺序走一遍即可
- 选中当前连接【文件】【属性】上方选项卡【选项】勾选【使用 UTF-8 编码】| 完成
 
 
Xshell 下操作
1 2 3 4 5 6 7 8
   | # 移动位置到当前目录 cd /usr/local # 解压文件 tar -zxvf jdk-8u181-linux-x64.tar.gz # 将文件重命名为简单的名称 mv jdk1.8.0_181 jdk8 # 删除掉无用的 tar.gz 文件 rm -rf jdk-8u181-linux-x64.tar.gz
 
  | 
 
截止到目前,Java 已经安装完毕了,这个没有安装过程,解压他的过程就是安装,接下来是配置环境变量,切换目录到 etc 下使用 xshell 操作
1 2 3 4
   | # 切换目录 cd /etc # 使用vim编辑器编辑配置文件,增加环境变量 vim profile
 
  | 
 
输入以上命令后,就会看到配置文件的详细信息,翻到文件最底部敲击字母 i,下方会提示插入模式,然后在最底下编写代码,添加 jdk 的环境变量,代码如下:
1 2 3 4
   | export JAVA_HOME=/usr/local/jdk8 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JRE_HOME=$JAVA_HOME/jre
 
  | 
 
- 需要注意的是在输入 jdk8 的时候,小键盘数字键是不能用的
 
编写完成后,敲击键盘左上角的 esc 退出编辑模式,此时你处于命令模式,然后敲击 :wq ( 保存并退出 ) 然后回车即可。配置文件就搞定了,然后输入命令刷新环境变量
接下来就像在 Windows 中一样输入 javac,java,java -version 来测试 jdk 有没有安装成功吧
– 补充
当我们在 Windows 中将打包好的 springboot 的 jar 包放在 centos 中运行的时候,会发现他启动的特别慢,这个时候我们就需要更改一些配置
1 2 3 4
   | # 编辑JDK下的指定文件 vim /usr/local/jdk8/jre/lib/security/java.security # 修改 securerandom.source 的值为如下所示 securerandom.source=file:/dev/urandom
 
  | 
 
部署 Tomcat 8.5
安装 tomcat 同 jdk 一样,首先是去官网下载指定版本的 tomcat 的压缩包,然后上传至服务器等等操作
tomcat 8.5 下载地址,记着选择 tar.gz 的 Linux 版本
1
   | https://tomcat.apache.org/download-80.cgi
 
  | 
 
下载完成后,使用 XFTP 工具将压缩包上传至服务器的 /usr/local 目录下,然后在 xshell  中操作
1 2
   | # 解压tomcat包 tar -zxvf apache-tomcat-8.5.55.tar.gz
 
  | 
 
解压之后就已经算是安装完成了,可以 cd 到 tomcat 目录下,执行命令检查是否安装成功
1 2 3 4
   | # 启动tomcat服务 startup.sh # 关闭tomcat服务 shutdown.sh
 
  | 
 
启动后通过 ip 地址 + 8080 端口号是可以访问到网站的,如果访问失败可以尝试开放防火墙 8080 端口
1 2
   | firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload
 
  | 
 
环境变量配置
1 2 3 4 5 6 7
   | cd /etc vim profile # 在insert模式下追加段代码 export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.31 export PATH=$PATH:$CATALINA_HOME/bin # 然后保存刷新即可 source profile
 
  | 
 
部署 MySQL
下载及安装
之前的环境都是下载好然后进行离线安装的,不过这次的 mysql 的安装是需要联网的,研究了一下午离线安装没有成功…妥协了 ( >_< ),毕竟我也是第一次
首先去 mysql 官网下载安装所需要的 rpm 包,官网直连地址:
我安装的是 5.7.30 下的 Red Hat 下的 Linux 7,在下面选择第一个 RPM Bundle 下载到本地即可。
1
   | https://dev.mysql.com/downloads/mysql/
 
  | 
 
下载完成后远程连接你的 服务器 / 虚拟机,cd 至 usr/local/ 目录下新建一个文件夹,将你下载好的文件上传到新建文件夹中,然后开始解压,命令如下
因为他没有给文件包一层目录,所以这里我选择了新建一个文件夹,这样解压后文件就不会乱
1 2 3 4 5 6
   | # 新建文件夹 mkdir /usr/local/abc # 移动到目标文件夹 cd /usr/local/abc # 上传文件后,进行解压 tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
 
  | 
 
> 接下来准备安装环境,依次运行以下命令安装依赖
1 2
   | # 安装三个依赖 yum -y install libaio perl net-tools
 
  | 
 
1 2 3
   | # 依赖检测失败:libncurses.so.5()(64bit) 被 ... 需要 # 这个可以先不执行,等安装报错在安装也可以 dnf install ncurses-compat-libs
 
  | 
 
1 2 3 4
   | # 检查系统是否自带了mariadb,如有就卸载,会影响安装 rpm -qa|grep mariadb # 卸载命令 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
 
  | 
 
依赖安装完成后,在解压好的目录下,开始安装 rpm 包:
1 2 3 4
   | rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
 
  | 
 
依次安装完成后启动 mysql 服务,检测是否安装成功,如果提示 avive (running) 即为安装成功
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
   | # 启动mysql服务 service mysqld start # 检查mysql启动状态 service mysqld status # 如果提示 avive (running) 即为安装成功 [root@localhost mysql-cache]# service mysqld start Redirecting to /bin/systemctl start mysqld.service [root@localhost mysql-cache]# service mysqld status Redirecting to /bin/systemctl status mysqld.service ● mysqld.service - MySQL Server    Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)    Active: active (running) since Wed 2020-06-03 02:03:49 CST; 5s ago      Docs: man:mysqld(8)            http://dev.mysql.com/doc/refman/en/using-systemd.html   Process: 14149 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $M>   Process: 14123 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)  Main PID: 14152 (mysqld)     Tasks: 27 (limit: 11362)    Memory: 248.5M    CGroup: /system.slice/mysqld.service            └─14152 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
 
  | 
 
centos 下对 mysql 服务的操作命令 ( 其实在 linux 中,服务不叫服务,叫做守护进程 ):
1 2 3 4 5 6
   | # 启动 mysql 服务 service mysqld start # 关闭 mysql 服务 service mysqld stop # 重启 mysql 服务 service mysqld restart
 
  | 
 
配置 MySQL
在上面我们已经成功的安装了 mysql 5.7.30,接下来只需要进行一些后续的处理,这个 mysql 数据库就可以正常使用了。
修改配置文件
由 rpm 命令安装的 mysql,他的配置文件位于 /etc/my.cnf 处,在尾部加上这样两句命令:
1 2 3 4 5 6 7 8
   | #
  # 关闭密码安全策略验证 validate-password=OFF # 关闭表名区分大小写 0为区分,1为不区分 lower_case_table_names=1 # 设置字符集 character-set-server=utf8
 
  | 
 
设置 root 密码
想要设置 root 密码,首先要先登录 mysql 数据库,但是没有密码怎么登录?其实在我们安装 mysql 的时候已经为我们生成了一个临时的密码,查看密码的命令如下:
1 2 3 4 5
   | # 最后的一串像乱码一样的东西就是临时密码 # 或者使用 cat /var/log/mysqld.log 命令看前几行第一个 [Note] 的位置 grep password /var/log/mysqld.log
  #2020-06-02T20:37:30.623479Z 1 [Note] A temporary password is generated for root@localhost: ,mhLlwzx>5g!
 
  | 
 
使用这个临时的密码登录 mysql 的 root 用户后,第一件事儿就是修改他的密码,命令如下:
1 2
   |  mysql> set password = password("你的密码");
 
  | 
 
密码修改完成后,你就可以正常使用你的数据库啦,但是还有点收尾工作要做 ↓ ↓ ↓
开放防火墙 3306 端口,配置远程连接数据库
现在的数据库仅仅在本地能够正常使用,但是如果想要在自己的电脑上远程操作数据库,还需要进行一些配置
1 2 3 4
   | # 开放防火墙 3306 端口 firewall-cmd --add-port=3306/tcp --permanent # 重启防火墙服务 firewall-cmd --reload
 
  | 
 
开放 3306 端口后,你会发现还是不能远程访问你的数据库,因为你还需要最后一步:
1 2
   |  mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
 
  | 
 
至此!mysql 算是安装配置完成了,当然这个很简陋,真实服务器环境上配置的数据库比这个还要复杂,涉及到用户组和权限管理的问题,但是我这里只是练习用,就不写那么多了。
部署 Redis
redis 的下载
首先要去 redis 的官网下载他的压缩包,官网 [ 中文 ] 直连地址如下:
进入官网后直接下载即可,然后远程连接 服务器/虚拟机 将下载好的文件上传至 /usr/local 目录下
1 2 3 4
   | # 进入到usr/local目录 cd /usr/local # 上传文件后,执行解压命令 tar -zxvf redis-5.0.5.tar.gz
 
  | 
 
redis 的安装
在执行安装命令之前,首选需要安装 gcc 的依赖,如已安装请忽略
然后切换到 redis 目录下开始执行安装命令
1 2 3 4
   | # 切换目录到redis下 cd redis-5.0.5 # 执行安装命令 make && make install
 
  | 
 
这样一来,安装就顺利结束了,如果提示 -bash: make: command not found 则代表 gcc 没有装,需要重新安装 gcc 环境
redis 的配置
实际上这个时候 redis 已经可以正常运行了,但是直接执行运行的是默认的配置,我们需要有一套自己的配置,所以这个时候我们需要修改一下配置文件,这里建议复制一个作为备份,然后在修改
1 2 3 4 5 6 7
   | # 新建目录并进入 mkdir my_config cd my_config # 复制配置文件 cp ../redis.conf redis.conf # 编辑配置文件信息 vim redis.conf
 
  | 
 
在配置文件中修改以下两行即可:
1 2 3 4
   | # 注释掉bind,取消访问redis的ip地址限制,否则只有本机才能访问 # bind 127.0.0.1 # 修改为 yes,可以后台运行redis,否则会锁定命令行 daemonize yes
 
  | 
 
运行 redis 并创建连接
好了,redis 的安装基本完成了,而且我们也有了属于自己的配置文件,接下来让我们来运行一下 redis,在运行 redis 之前,我们需要知道,redis 有两个可以启动的程序,一个是服务端,一个是客户端
首先我们来运行服务端 redis-sever
1 2 3 4
   |  redis-server
  redis-server redis.conf
 
  | 
 
接下来让我们启动客户端 redis-cli
1 2 3 4
   | # 如果直接输入则默认连接本地的6379端口 redis-cli # 也可以通过参数来指定目标IP地址或端口号 redis-cli -h 127.0.0.1 -p 6379
 
  | 
 
尝试输入一个 ping 命令,测试服务是否正常工作,如果返回 PONG 就证明一切正常
1 2
   | 127.0.0.1:6379> ping PONG
 
  | 
 
关闭 redis
如果不时用任何配置让他默认启动的话,直接 Ctrl + C 就可以关闭 redis,那么后台运行应该怎么关?
1 2 3 4 5
   |  redis-cli shutdown
  redis-cli shutdown
 
  |