曲水的博客

曲水的博客

服务器软件安装手册(更新ing)

387
2022-03-25

写在前面

  • 以前用都只是用服务器搭建一些比较小的项目,例如个人博客啥的。直到最近碰到一个比赛,真正需要把一个前后端分离的系统部署到服务器上。于是乎,折腾了好几天才把基础环境搞完,然后开始部署前后端又遇到一堆问题。这里先把一些服务器要装的基本的配置全部记录一下,免得下次再遇到这种烂活可以快速搞定。

安装包和环境准备

  • 以下所有的环境和安装软件均搭载在 CentOS 7.4 64bit Linux操作系统上。

  • 安装包下载链接:百度网盘下载 提取码:js0w

  • 安装包固然可以包管理器一行命令搞定,但是为了整个系统部署的一致性和整个文档的可操作性,这篇文章统统采用:下载安装包-上传到服务器-直接解压安装的方式部署软件。

  • 这篇文章默认掌握了解服务器连接方式和通过SFTP工具将文件上传到服务器的技能。

  • 所有安装包都上传到服务器的 root 目录下,用ls或者ll查看目录下的文件。

[root@localhost ~]# ll
total 971508
-rw-r--r-- 1 root root   9506321 Mar 25 19:40 apache-maven-3.6.3-bin.tar.gz
-rw-r--r-- 1 root root  10371538 Mar 25 19:40 apache-tomcat-8.5.55.tar.gz
-rw-r--r-- 1 root root  12436328 Mar 25 19:40 apache-zookeeper-3.6.1-bin.tar.gz
-rw-r--r-- 1 root root   9291089 Mar 25 19:40 Git-v2.26.2.tar.gz
-rw-r--r-- 1 root root 189756259 Mar 25 19:48 jdk-8u161-linux-x64.tar.gz
-rw-r--r-- 1 root root  61604633 Mar 25 19:44 kafka_2.12-2.5.0.tgz
-rw-r--r-- 1 root root 660017902 Mar 25 19:55 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
-rw-r--r-- 1 root root   1039541 Mar 25 19:40 nginx-1.17.10.tar.gz
-rw-r--r-- 1 root root  14712780 Mar 25 19:42 node-v12.16.3-linux-x64.tar.xz
-rw-r--r-- 1 root root  24067487 Mar 25 19:42 Python-3.8.3.tgz
-rw-r--r-- 1 root root   1985757 Mar 25 19:42 redis-5.0.8.tar.gz

Git 安装

1、准备Git安装包

  • 这⾥选择安装的是 2.26.2 版,将下载好的安装包 Git-v2.26.2.tar.gz 本地解压,得到 git-2.26.2 ⽬录:
[root@localhost ~]# tar -zxvf Git-v2.26.2.tar.gz

2、安装环境依赖

  • 提前安装可能需要的环境依赖,统统选Y即可:
[root@localhost ~]# yum install curl-devel
[root@localhost ~]# yum install zlib-devel
[root@localhost ~]# yum install expat-devel
[root@localhost ~]# yum install gettext-devel
[root@localhost ~]# yum install openssl-devel
[root@localhost ~]# yum install gcc-c++
[root@localhost ~]# yum install perl-ExtUtils-MakeMaker
[root@localhost ~]# yum install autoconf

3、编译安装Git

  • 进入 git-2.26.2 ⽬录,设置安装目录在 /usr/local/git,进行安装:
[root@localhost ~]# cd git-2.26.2/
[root@localhost git-2.26.2]# make configure
[root@localhost git-2.26.2]# ./configure --prefix=/usr/local/git
[root@localhost git-2.26.2]# make profix=/usr/local/git
[root@localhost git-2.26.2]# make install

4、将Git添加到环境变量

  • Git 添加到环境变量,方便以后使用:
[root@localhost ~]# vim /etc/profile
  • 在尾部加入 Gitbin 路径配置即可:
export GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin
  • 最后执行语句让环境变量生效。
[root@localhost ~]# source /etc/profile

5、检查安装结果

  • 执行语句查看安装后的版本即可,正常返回 git version 2.26.2 说明安装成功。
[root@localhost ~]# git --version

Oracle JDK(JAVA环境)安装

1、创建目录并解压

  • /usr/local/ 下创建 java ⽂件夹并进⼊:
[root@localhost ~]# cd /usr/local
[root@localhost local]# mkdir java
[root@localhost local]# cd java
  • 将准备好的JDK安装包解压到 /usr/local/java 中即可:
[root@localhost java]tar -zxvf /root/jdk-8u161-linux-x64.tar.gz -C ./
  • 解压完成以后,该目录下会多出一个 jdk1.8.0_161 的文件夹。

2、配置JDK环境变量

  • 编辑 /etc/profile ⽂件,在⽂件尾部加⼊如下 JDK 环境配置:
JAVA_HOME=/usr/local/java/jdk1.8.0_161
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
  • 最后执行语句让环境变量生效。
[root@localhost ~]# source /etc/profile

3、检查安装结果

  • 执行语句查看安装后的版本即可。
[root@localhost ~]# java -version
  • 返回如下结果说明安装成功:
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Node环境安装

1、创建⽬录并解压

  • /usr/local/ 下创建 node ⽂件夹并进⼊:
[root@localhost ~]# cd /usr/local
[root@localhost local]# mkdir node
[root@localhost local]# cd node
  • Node 的安装包解压到 /usr/local/node 中:
[root@localhost node]# tar -xJvf /root/node-v12.16.3-linux-x64.tar.xz -C ./
  • 解压完之后, /usr/local/node ⽬录中会出现⼀个 node-v12.16.3-linux-x64 的⽬录。

2、配置Node系统环境变量

  • 编辑 ~/.bash_profile ⽂件:
[root@localhost ~]# vim ~/.bash_profile
  • 在文件末尾追加以下信息:
# Nodejs
export PATH=/usr/local/node/node-v12.16.3-linux-x64/bin:$PATH
  • 刷新环境变量,使之⽣效即可:
[root@localhost ~]# source ~/.bash_profile

3、检查安装结果

  • 输入以下命令,均有输出说明安装成功:
[root@localhost ~]# node -v
[root@localhost ~]# npm version
[root@localhost ~]# npx -v

Python环境安装

1、检查当前Python环境

  • CentOS 7.4 默认⾃带了⼀个 Python2.7 环境:
[root@localhost ~]# python
Python 2.7.5 (default, Aug  4 2017, 00:39:18) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
  • 然⽽现在主流都是 Python3 ,所以接下来再装⼀个 Python3 ,打造⼀个共存的环境。

2、准备Python3安装包并解压

  • 将放在 /root 目录下的Python的压缩包解压:
[root@localhost ~]# tar zxvf Python-3.8.3.tgz
  • 解压完会得到一个 Python-3.8.3 文件夹。

3、安装预备环境

  • 执行如下命令,安装可能需要的包,统统输入Y即可:
[root@localhost ~]# yum install zlib-devel
[root@localhost ~]# yum install bzip2-devel
[root@localhost ~]# yum install openssl-devel
[root@localhost ~]# yum install ncurses-devel
[root@localhost ~]# yum install sqlite-devel
[root@localhost ~]# yum install readline-devel
[root@localhost ~]# yum install tk-devel
[root@localhost ~]# yum install gcc
[root@localhost ~]# yum install make

4、编译和安装Python

  • 进入Python-3.8.3 文件夹,制定安装目录为 /usr/local/python3,安装即可:
[root@localhost ~]# cd Python-3.8.3
[root@localhost Python-3.8.3]# ./configure prefix=/usr/local/python3
[root@localhost Python-3.8.3]# make && make install
  • 安装成功后,/usr/local/python3 ⽬录就会⽣成了。

5、添加软链接

  • 我们还需要将刚刚安装⽣成的⽬录 /usr/local/python3 ⾥的 python3 可执⾏⽂件做⼀份软链接,链接到 /usr/bin 下,⽅便后续使⽤ python3,执行如下命令:
[root@localhost ~]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@localhost ~]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

6、检查安装结果

  • 输入如下命令,如果能够正常返回 Python 3.8.3 说明Python3安装成功:
[root@localhost ~]# python3 --version
  • 输入如下命令,如果能够返回pip3的版本号说明pip3安装成功:
[root@localhost ~]# pip3 --version
pip 19.2.3 from /usr/local/python3/lib/python3.8/site-packages/pip (python 3.8)
  • 输入如下命令,如果能够正常返回 Python 2.7.5 说明原Python仍然可以使用:
[root@localhost ~]# python --version

Maven项⽬构建和管理⼯具安装

1、准备Maven安装包并解压

  • /opt 下新建一个叫做 maven 的文件夹:
[root@localhost ~]# cd /opt
[root@localhost opt]# mkdir maven
[root@localhost opt]# cd maven
  • 将准备好的Maven包解压到当前的 /opt/maven 下:
[root@localhost maven]# tar zxvf /root/apache-maven-3.6.3-bin.tar.gz
  • 这样在 maven 文件夹下就会多出一个 apache-maven-3.6.3 目录。

2、配置Maven加速镜像源

  • 这里用的是阿⾥云的maven镜像源。修改 /opt/maven/apache-maven-3.6.3/conf/settings.xml 文件,在 <mirrors></mirrors> 标签对下添加如下内容:
<mirror>
	<id>alimaven</id>
	<name>aliyun maven</name>
	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	<mirrorOf>central</mirrorOf>
</mirror>

3、配置环境变量

  • 编辑修改 /etc/profile ⽂件,在⽂件尾部添加如下内容,配置 maven 的安装路径:
export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
  • 最后执行语句让环境变量生效。
[root@localhost ~]# source /etc/profile

4、检查安装结果

  • 执行语句查看安装后的版本即可。
[root@localhost ~]# mvn -v
  • 看到如下输出说明安装成功。
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /opt/maven/apache-maven-3.6.3
Java version: 1.8.0_161, vendor: Oracle Corporation, runtime: /usr/local/java/jdk1.8.0_161/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.18.0-305.12.1.el8_4.x86_64", arch: "amd64", family: "unix"

Mysql数据库部署和安装

1、卸载系统自带的mariadb

  • 用以下命令行查询系统是否自带mariadb:
[root@localhost ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
  • 将自带的mariadb逐个卸载(如果有多个的话):
[root@localhost ~]# yum -y remove mariadb-libs-5.5.56-2.el7.x86_64

2、解压Mysql安装包

  • 将准备好的 MySQL 安装包解压到 /usr/local/ ⽬录,并重命名为 mysql
[root@localhost ~]# tar -zxvf /root/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local
[root@localhost local]# mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql

3、创建Mysql⽤户和⽤户组

  • 创建用户和用户组,输入以下命令:
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -g mysql mysql
  • 新建目录 /usr/local/mysql/data,后续用。
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# mkdir data

4、修改Mysql⽬录的归属⽤户

  • 进入 /usr/local/mysql,修改归属用户
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# chown -R mysql:mysql ./

5、准备Mysql的配置⽂件

  • /etc ⽬录下新建 my.cnf ⽂件,写入如下简化配置:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

[mysqld]
skip-name-resolve
#设置3306端⼝
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装⽬录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放⽬录
datadir=/usr/local/mysql/data
# 允许最⼤连接数
max_connections=200
# 服务端使⽤的字符集默认为8⽐特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使⽤的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
  • 创建 /var/lib/mysql ⽬录,并修改权限:
[root@localhost ~]# mkdir /var/lib/mysql
[root@localhost ~]# chmod 777 /var/lib/mysql

6、正式开始安装Mysql

  • 执⾏如下命令正式开始安装:
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • 运行结果如下图,注意!复制首次登录进去的密码:

7、复制启动脚本到资源⽬录

  • 执⾏如下命令复制:
[root@localhost mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld
  • 修改 /etc/init.d/mysqld ,修改其 basedirdatadir 为实际对应⽬录:
[root@localhost mysql]# basedir=/usr/local/mysql
[root@localhost mysql]# datadir=/usr/local/mysql/data

8、设置Mysql系统服务并开启⾃启

  • ⾸先增加 mysqld 服务控制脚本执⾏权限:
[root@localhost ~]# chmod +x /etc/init.d/mysqld
  • 同时将 mysqld 服务加⼊到系统服务:
[root@localhost ~]# chkconfig --add mysqld
  • 最后检查 mysqld 服务是否已经⽣效即可:
[root@localhost ~]# chkconfig --list mysqld
  • 如下图所示,这样就表明 mysqld 服务已经⽣效了。

9、启动Mysqld

  • 直接执行以下语句:
[root@localhost ~]# service mysqld start
  • 输入以下内容说明启动成功:
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.bj.baidu.internal.err'.
 SUCCESS! 

10、将 Mysql 加⼊环境变量

  • 这样⽅便以后在任意⽬录上都可以使⽤ mysql 提供的命令。

  • 编辑 ~/.bash_profile ⽂件:

[root@localhost ~]# vim ~/.bash_profile
  • 在⽂件末尾处追加如下信息:
export PATH=$PATH:/usr/local/mysql/bin
  • 执⾏如下命令使环境变量⽣效:
[root@localhost ~]# source ~/.bash_profile

11、首次登录 Mysql

  • root 账户登录 mysql,在命令行中输入:
[root@localhost ~]# mysql -u root -p
  • 会提示输入密码,将上面保存的密码 5gne>o;yu%#X(按照上面部署时生成的密码) 输入进去即可:
Enter password:
  • 看到 mysql> 说明安装成功,如下图:

12、修改Root账户密码

  • 在mysql的命令⾏执⾏如下命令即可,密码可以换成想⽤的密码即可:
mysql> alter user user() identified by "111111";
mysql> flush privileges;
  • 比如此处设成了简单的 111111

13、设置远程主机登录

  • 在mysql的命令行下执行如下命令:
mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;
  • 最后可以用 Navicat 等工具测试即可。

Redis缓存安装部署

1、解压Redis安装包

  • /usr/local/ 下创建 redis ⽂件夹并进⼊:
[root@localhost ~]# cd /usr/local
[root@localhost local]# mkdir redis
[root@localhost local]# cd redis
  • 将 Redis 安装包解压到 /usr/local/redis 中:
[root@localhost redis]# tar zxvf /root/redis-5.0.8.tar.gz -C ./
  • 解压完之后, /usr/local/redis ⽬录中会出现⼀个 redis-5.0.8 的⽬录。

2、编译并安装

  • 进入 redis-5.0.8 目录,编译安装Redis:
[root@localhost redis]# cd redis-5.0.8
[root@localhost redis-5.0.8]# make && make install

3、将 Redis 设置为系统服务并后台启动

  • 进⼊ utils ⽬录,并执⾏如下脚本即可:
[root@localhost redis-5.0.8]# cd utils
[root@localhost utils]# ./install_server.sh
  • 这里全部选择的默认配置,有需要可以按需定制:

4、启动并查看Redis服务启动情况

  • 启动 Redis 服务:
[root@localhost ~]# systemctl start redis_6379.service
  • 查看 Redis 服务状态
[root@localhost ~]# systemctl status redis_6379.service
  • 显示 active 说明启动成功:

5、启动Redis客户端并测试

  • 启动⾃带的 redis-cli 客户端,测试通过:
[root@localhost ~]# redis-cli
127.0.0.1:6379> set test admin
OK
127.0.0.1:6379> get test
"admin"
  • 但是此时只能在本地访问,⽆法远程连接,因此还需要做部分设置。

6、设置允许远程连接

  • 编辑 redis 配置⽂件:
[root@localhost ~]# vim /etc/redis/6379.conf
  • bind 127.0.0.1 修改为 bind 0.0.0.0

  • 然后重启 Redis 服务即可:
[root@localhost ~]# systemctl restart redis_6379.service

7、设置访问密码

  • 编辑 redis 配置⽂件:
[root@localhost ~]# vim /etc/redis/6379.conf
  • 找到以下内容:
#requirepass foobared
  • 将前面的注释 # 去掉,然后将 foobared 换成自己的密码即可:
requirepass sufeqs
  • 保存,重启 Redis 服务:
[root@localhost ~]# systemctl restart redis_6379.service
  • 再次启动 redis-cli,测试通过:

Web服务器Nginx安装部署

1、将安装包解压

  • /usr/local/ 下创建 nginx ⽂件夹并进⼊:
[root@localhost ~]# cd /usr/local
[root@localhost local]# mkdir nginx
[root@localhost local]# cd nginx
  • 将 Nginx 安装包解压到 /usr/local/nginx 中即可:
[root@localhost nginx]# tar zxvf /root/nginx-1.17.10.tar.gz -C ./
  • 解压完之后, /usr/local/nginx ⽬录中会出现⼀个 nginx-1.17.10 的⽬录。

2、预先安装额外的依赖

  • 安装以下环境依赖:
[root@localhost ~]# yum -y install pcre-devel
[root@localhost ~]# yum -y install openssl openssl-devel

3、编译安装Nginx

  • 进入 nginx-1.17.10 目录,编译和安装:
[root@localhost ~]# cd /usr/local/nginx/nginx-1.17.10
[root@localhost nginx-1.17.10]# ./configure
[root@localhost nginx-1.17.10]# make && make install
  • 编译安装完成之后,nginx的可执行文件在 /usr/local/nginx/sbin/nginx

4、启动Nginx

  • 进入 /usr/local/nginx/sbin,启动 nginx:
[root@localhost nginx-1.17.10]# cd /usr/local/nginx/sbin
[root@localhost sbin]# ./nginx
  • 如果想暂停 nginx 服务,可执行:
[root@localhost sbin]# ./nginx -s stop
  • 如果修改了配置⽂件后想重新加载 nginx,可执⾏:
[root@localhost sbin]# ./nginx -s reload
  • 注意 nginx 的配置文件在 /usr/local/nginx/conf/nginx.conf

5、浏览器验证启动情况

  • 在浏览器中输入自己的IP地址,如果看到以下界面说明nginx启动成功。

  • 0