commit 888165fb12bcbdccfedac1e1890d13dc6b26f1e0 Author: wzj <244142824@qq.com> Date: Sun Nov 20 21:15:56 2022 +0800 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..cfc6d53 --- /dev/null +++ b/README.md @@ -0,0 +1,1561 @@ +# 编程环境和软件设施安装手册 + +## 环境声明(重要!!!) + +本文档所有实验、环境、工具、软件均基于 CentOS 7.4 64bit Linux操作系统进行 + +## 1.GIT工具安装 + +### 方式一:通过包管理器安装 + +在 Linux 上安装 Git 向来**仅需一行命令**即可搞定,因为各式各样的**包管理器**帮了我们⼤忙,所以对于 + +CentOS 系统来讲,直接执行如下命令即可安装: + +```bash +yum -y install git +``` + +当然通过这种⽅式安装的 Git 可能不是较新版的 Git ,以我们的实验环境 CentOS 7.4 来说,这种⽅ + +式安装的 Git 版本为 1.8.3.1 ,不过一般来说是够用的。 + +### 方式二:通过源码编译安装 + +如果想安装较新版本的 Git ,则需要自行下载 Git 源码来编译安装。 + +**1、准备Git安装包** + +我这里选择安装的是 2.26.2 版,将下载好的安装包 v2.26.2.tar.gz 直接放在了 root 目录下 + +然后将其本地解压,得到 git-2.26.2 目录: + +```bash +[root@localhost ~]# tar -zxvf v2.26.2.tar.gz +``` + + + +**2、提前安装可能所需的依赖** + +```bash +yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker +``` + +**3、编译安装Git** + +进入到对应目录,执行配置、编译、安装命令即可,如下所示: + +```bash +[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 的可执行程序加入环境变量,便于后续使用 + +编辑配置文件: + +```bash +vim /etc/profile +``` + +尾部加入 Git 的 bin 路径配置即可 + +```bash +export GIT_HOME=/usr/local/git +export PATH=$PATH:$GIT_HOME/bin +``` + +最后执行 `source /etc/profile` 使环境变量生效即可。 + +**5、查看安装结果** +执行 `git --version` 查看安装后的版本即可 + +![](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangbushuwendang202209071058899.png) + + + +## 2.JDK(JAVA环境)安装 + +> 注意:这里安装的是Oracle JDK + +### 准备JDK安装包 + +我这里下载的是 jdk-8u161-linux-x64.tar.gz 安装包,并将其直接放在了 /usr/src 目录下 + +```bash +wget https://mirror.liuyan.wang/download/jdk/jdk-8u161-linux-x64.tar.gz -P /usr/src +``` + + + +### 卸载已有的OPENJDK(如果有) + +如果系统自带有 OpenJDK ,可以按照如下步骤提前卸载之。 + +首先查找已经安装的 OpenJDK 包: + +```bash +rpm -qa | grep java +``` + +![](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangbushuwendang202209071103565.png) + +接下来可以将 java 开头的安装包均卸载即可: + +```bash +yum -y remove java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64 +yum -y remove java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64 +... 省略 ... +``` + +### 创建目录并解压 + +1、在 `/usr/local/` 下创建 java 文件夹并进入 + +```bash +mkdir -p /usr/local/java +cd /usr/local/java +``` + +2、将上面准备好的 JDK 安装包解压到 /usr/local/java 中即可 + +```bash +tar -zxvf /usr/src/jdk-8u161-linux-x64.tar.gz -C ./ +``` + +解压完之后, /usr/local/java 目录中会出现一个 jdk1.8.0_161 的目录 + +配置JDK环境变量 + +编辑 /etc/profile 文件,在文件尾部加入如下 JDK 环境配置即可 + +```bash +vim /etc/profile +``` + +```bash +# java +JAVA_HOME=/usr/local/java/jdk1.8.0_161 +CLASSPATH=$JAVA_HOME/lib/ +PATH=$PATH:$JAVA_HOME/bin +export PATH JAVA_HOME CLASSPATH +``` + +然后执行如下命令让环境变量生效 + +```bash +source /etc/profile +``` + +### 验证JDK安装结果 + +输入如下命令即可检查安装结果: + +```bash +java -version +javac +``` + +![](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangbushuwendang202209071141866.png) + +## 3.NODE环境安装 + +### 准备NODE安装包 + +1、在 `/usr/local/` 下创建 `node` 文件夹并进入,下载node包 + +```bash +mkdir -p /usr/local/node +cd /usr/local/node +wget https://mirror.liuyan.wang/download/nodejs/node-v12.16.3-linux-x64.tar.xz +``` + +2、将 Node 的安装包解压到 /usr/local/node 中即可 + +```bash +tar -xJvf node-v12.16.3-linux-x64.tar.xz -C ./ +``` + +解压完之后, /usr/local/node 目录中会出现一个 node-v12.16.3-linux-x64 的目录 + +### 配置NODE系统环境变量 + +编辑 `~/.bash_profile` 文件,在文件末尾追加如下信息: + +```bash +vim ~/.bash_profile +``` + +```bash +# Nodejs +export PATH=/usr/local/node/node-v12.16.3-linux-x64/bin:$PATH +``` + +刷新环境变量,使之生效即可: + +```bash +source ~/.bash_profile +``` + +### 检查安装结果 + +```bash +node -v +npm version +npx -v +``` + +均有版本信息输出即可: + +![image-20221118143326259](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118143326259.png) + +## 4.PYTHON环境安装 + +> CentOS 7.4 默认自带了一个 Python2.7 环境 +> +> 然⽽现在主流都是 Python3 ,所以接下来再装一个 Python3 ,打造一个共存的环境。 + +### 下载PYTHON3安装包并解压 + +```bash +wget https://mirror.liuyan.wang/download/python/Python-3.8.3.tgz +tar zxvf Python-3.8.3.tgz +``` + +则可以在当前目录得到文件夹: Python-3.8.3 + +### 安装相关预备环境 + +直接执行如下命令即可: + +```bash +yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make +``` + +### 编译并安装 + +这里指定了安装目录为 /usr/local/python3 ,有需要可以自定义 + +```bash +cd Python-3.8.3/ +./configure prefix=/usr/local/python3 +make && make install +``` + +等安装过程完毕, /usr/local/python3 目录就会生成了 + +### 添加软链接 + +我们还需要将刚刚安装生成的目录 `/usr/local/python3` 里的 python3 可执行文件做一份软链接,链接到 /usr/bin 下,⽅便后续使用python3 + +```bash +ln -s /usr/local/python3/bin/python3 /usr/bin/python3 +ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 +``` + + + +### 验证安装 + +命令行输入 python3 ,即可查看 Python3 版本的安装结果 + +![image-20221118144140082](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118144140082.png) + +⽽输入 python ,依然还是 python2.7.5 环境 + +![image-20221118144219840](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118144219840.png) + +## 5.MAVEN项目构建和管理工具安装 + +### 下载并解压maven安装包 + +```bash +mkdir -p /usr/local/maven +cd /usr/local/maven +wget https://mirror.liuyan.wang/download/maven/apache-maven-3.6.3-bin.tar.gz +tar zxvf apache-maven-3.6.3-bin.tar.gz +``` + +即可在当前目录得到 /usr/local/maven/apache-maven-3.6.3 目录 + +### 配置MAVEN加速镜像源 + +这里配置的是阿里云的maven镜像源。 + +编辑修改` /usr/local/maven/apache-maven-3.6.3/conf/settings.xml`文件,在 `` 标签对里添加如下内容即可: + +```xml + + alimaven + aliyun maven + http://maven.aliyun.com/nexus/content/groups/public/ + central + +``` + +![image-20221118144949788](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118144949788.png) + +### 配置环境变量 + +因为下载的是`⼆进制`版安装包,所以解压完,配置好环境变量即可使用了。 + +编辑修改 `/etc/profile` 文件,在文件尾部添加如下内容,配置 maven 的安装路径 + +```bash +vim /etc/profile +``` + +```bash +# maven +export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3 +export PATH=$MAVEN_HOME/bin:$PATH +``` + +接下来执行 `source /etc/profile` 来刷新环境变量,让 maven 环境的路径配置生效。 + +```bash +source /etc/profile +``` + +### 检验安装结果 + +执行 `mvn –v` ,能打印出 maven 版本信息说明安装、配置成功: + +![image-20221118145951040](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118145951040.png) + +## 6.MYSQL数据库部署和安装(二进制) + +### 首先下载安装包 + +这里下载的是 `mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz` 安装包,并将其直接放在了 /usr/src目录下 + +```bash +wget https://mirror.liuyan.wang/download/mysql/binary/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -P /usr/src +``` + +### 安装依赖 + +```bash +yum -y install libaio +``` + +### 卸载系统自带的MARIADB(如果有) + +如果系统之前自带 Mariadb ,可以先卸载之。 + +首先查询已安装的 Mariadb 安装包: + +``` +rpm -qa|grep mariadb +``` + +![image-20221118160550725](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118160550725.png) + +均将其卸载: + +```bash +yum -y remove mariadb-server-5.5.56-2.el7.x86_64 +yum -y remove mariadb-5.5.56-2.el7.x86_64 +yum -y remove mariadb-devel-5.5.56-2.el7.x86_64 +yum -y remove mariadb-libs-5.5.56-2.el7.x86_64 +``` + +### 解压MYSQL安装包 + +```bashj +tar -zxvf /usr/src/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ +cd /usr/local/ +mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql +``` + +### 创建MYSQL用户和用户组 + +```bash +groupadd mysql +useradd -r -g mysql -s /bin/false mysql +``` + +同时新建 /usr/local/mysql/data 目录,后续作为数据目录使用 + +### 准备MYSQL的配置文件 + +在 /usr/local/mysql 目录下新建 my.cnf 文件 + +```bash +[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 +# 允许最大包大小 +max_allowed_packet=1024M +# 服务端使用的字符集默认为8⽐特编码的latin1字符集 +character-set-server=utf8 +# 创建新表时将使用的默认存储引擎 +default-storage-engine=INNODB +#lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的 +#lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写 +#lower_case_table_names=2 表名存储为给定的大小写但是比较的时候是小写的 +lower_case_table_names=1 +############################## 日 志 配 置 ############################## +#二进制日志目录 +server-id=99 +log-bin = /usr/local/mysql/log/mysql-bin +#自动删除过期日志的天数 +expire_logs_days = 10 +#限制单个文件大小 +max_binlog_size = 100M + +#查询日志 +general_log = 1 +#查询日志文件位置 +general_log_file = /usr/local/mysql/log/query.log +#慢查询日志 +slow_query_log = 1 +#慢日志文件位置 +slow_query_log_file = /usr/local/mysql/log/slow-query.log +#超过2秒记录 +long-query_time = 2 +#错误日志 +log-error = /usr/local/mysql/log/error.log + +``` + +### 修改MYSQL目录的归属用户 + +```bash +chown -R mysql:mysql /usr/local/mysql +``` + +同时使用如下命令创建 /var/lib/mysql 目录,并修改权限: + +``` +mkdir /var/lib/mysql +chmod 777 /var/lib/mysql +``` + +### 正式开始安装MYSQL + +执行如下命令正式开始初始化安装: + +```bash +cd /usr/local/mysql +./bin/mysqld --defaults-file=/usr/local/mysql//my.cnf --initialize --user=mysql +``` + +注意:这里也可以使用 + +```bash +./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data +``` + +来进行初始化,但这样会在`/etc/`下自动生成一个my.cnf,而不使用`/usr/local/mysql`下的配置文件 + +### 复制启动脚本到资源目录 + +执行如下命令复制: + +```bash +cp ./support-files/mysql.server /etc/init.d/mysqld +``` + +并修改 /etc/init.d/mysqld ,修改其 basedir 和 datadir 为实际对应目录: + +```bash +vim /etc/init.d/mysqld +basedir=/usr/local/mysql +datadir=/usr/local/mysql/data +``` + +### 设置MYSQL系统服务并开启自启 + +首先增加 mysqld 服务控制脚本执行权限: + +```bash +chmod +x /etc/init.d/mysqld +``` + +同时将 mysqld 服务加入到系统服务: + +```bash +chkconfig --add mysqld +``` + +最后检查 mysqld 服务是否已经生效即可: + +```bash +chkconfig --list mysqld +``` + +![image-20221118164236118](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118164236118.png) + +这样就表明 mysqld 服务已经生效了,在2、3、4、5运行级别随系统启动⽽自动启动,以后可以直接使用 service 命令控制 mysql 的启停。 + +### 启动MYSQLD + +直接执行: + +```bash +service mysqld start +``` + +![image-20221118164326875](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118164326875.png) + + + +### MYSQL 的 BIN 目录加入 PATH 环境变量 + +这样⽅便以后在任意目录上都可以使用 mysql 提供的命令。 + +编辑 `~/.bash_profile` 文件,在文件末尾处追加如下信息: + +```bash +export PATH=$PATH:/usr/local/mysql/bin +``` + +最后执行如下命令使环境变量生效 + +```bash +source ~/.bash_profile +``` + +### 首次登陆MYSQL + +以 root 账户登录 mysql ,使用上文安装完成提示的密码进行登入,如果并未显示,使用下面命令来查询 + +```bash +grep "pass" /usr/local/mysql/log/error.log +``` + +```bash +mysql -u root -p +``` + +### 修改ROOT账户密码 + +在mysql的命令行执行如下命令即可,密码可以换成你想用的密码即可: + +```sql +mysql> set password=password("mypassword123"); +mysql> flush privileges; +``` + +### 设置远程主机登录 + +```sql +mysql> use mysql; +mysql> update user set user.Host='%' where user.User='root'; +mysql> flush privileges; +``` + +或者 + +```bash +mysql> grant all privileges on *.* to 'root'@'%' identified by 'mypassword123'; +mysql> flush privileges; +``` + +### 最后利用NAVICAT等工具进行测试即可: + +![image-20221118165311527](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118165311527.png) + +## 7.REDIS缓存安装部署 + +### 首先下载并解压REDIS安装包 + +1、在 /usr/local/ 下创建 redis 文件夹并进入 + +```bash +mkdir -p /usr/local/redis +cd /usr/local/redis +``` + +2、下载并解压REDIS安装包 + +```bash +wget https://mirror.liuyan.wang/download/redis/redis-5.0.8.tar.gz +tar zxvf redis-5.0.8.tar.gz -C ./ +``` + +解压完之后, /usr/local/redis 目录中会出现一个 redis-5.0.8 的目录 + +### 编译并安装 + +```bash +cd redis-5.0.8/ +make && make instal +``` + +> 如果报错 cc: command not found,执行 yum -y install gcc gcc-c++ libstdc++-devel ;然后make distclean,再make clean,然后重新编译 + +### 将 REDIS 安装为系统服务并后台启动 + +进入 utils 目录,并执行如下脚本即可: + +```bash +[root@localhost redis-5.0.8]# cd utils/ +[root@localhost utils]# ./install_server.sh +``` + +此处全部选择的默认配置即可,有需要可以按需定制 + +![image-20221118165918380](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118165918380.png) + +### 查看REDIS服务启动情况 + +直接执行如下命令来查看Redis的启动结果: + +```bash +systemctl status redis_6379.service +``` + +![image-20221118171847313](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118171847313.png) + +启动自带的 redis-cli 客户端,测试通过 + +![image-20221118171921293](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118171921293.png) + +但是此时只能在本地访问,⽆法远程连接,因此还需要做部分设置 + +### 设置允许远程连接 + +编辑 redis 配置文件 + +```bash +vim /etc/redis/6379.conf +``` + +bind 127.0.0.1 修改为 0.0.0.0 + +![image-20221118172039920](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118172039920.png) + +然后重启 Redis 服务即可: + +```bash +systemctl restart redis_6379.service +``` + +### 设置访问密码 + +编辑 redis 配置文件 + +```bash +vim /etc/redis/6379.conf +``` + +找到如下内容: + +```bash +... +#requirepass foobared +... +``` + +去掉注释,将 foobared 修改为自⼰想要的密码,保存 + +```bash +requirepass mypassword123 +``` + +保存,重启 Redis 服务 + +```bash +systemctl restart redis_6379.service +``` + +这样后续的访问需要先输入密码认证通过: + +![image-20221118172842926](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118172842926.png) + +## 8.消息队列RABBITMQ安装部署 + +### 首先安装ERLANG环境 + +因为 RabbitMQ 需要 erlang 环境的⽀持,所以必须先安装 erlang + +我们这里要安装的是 `erlang-22.3.3-1.el7.x86_64.rpm` ,所以首先执行如下命令来安装其对应的yum repo : + +```bash +curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | bash +``` + +![image-20221118173610308](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118173610308.png) + +接下来执行如下命令正式安装 erlang 环境: + +```bash +yum -y install erlang-22.3.3-1.el7.x86_64 +``` + +![image-20221118173926073](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118173926073.png) + +接着上面提示再次执行如下命令: + +```bash +yum load-transaction /tmp/yum_save_tx.2020-05-14.22-21.n0cwzm.yumtx +``` + +![image-20221118174057972](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118174057972.png) + +接下来可以直接执行如下命令,测试 erlang 是否安装成功: + +```bash +erl +``` + +![image-20221118174150112](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118174150112.png) + +### 安装RABBITMQ + +接下来正式开始安装 rabbitmq ,首先依然是安装其对应的 yum repo : + +```bash +curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash +``` + +![image-20221118174256730](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118174256730.png) + +然后执行如下命令正式安装 rabbitmq : + +```bash +yum -y install rabbitmq-server-3.8.3-1.el7.noarch +``` + +![image-20221118174406879](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118174406879.png) + +![image-20221118174506632](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118174506632.png) + +### 设置RABBITMQ开机启动 + +```bash +chkconfig rabbitmq-server on +``` + +### 启动RABBITMQ服务 + +```bash +systemctl start rabbitmq-server.service +``` + +### 开启WEB可视化管理插件: + +```bash +rabbitmq-plugins enable rabbitmq_management +``` + +### 访问可视化管理界面: + +浏览器输入: 你的服务器IP:15672 + +![image-20221118174657871](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118174657871.png) + +能看到⽹⻚登录入⼝即可。 + +我们可以在后台先添加一个用户/密码对: + +```bash +rabbitmqctl add_user codesheep 123456 +rabbitmqctl set_user_tags codesheep administrator +``` + +然后登录⽹⻚即可: + +![image-20221118174819812](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118174819812.png) + +## 9.应用服务器TOMCAT安装部署 + +### 下载并解压安装包 + +```bash +mkdir -p /usr/local/tomcat +cd /usr/local/tomcat +wget https://mirror.liuyan.wang/download/tomcat/apache-tomcat-8.5.55.tar.gz +``` + +```bash +mkdir -p /usr/local/tomcat +cd /usr/local/tomcat +tar -zxvf apache-tomcat-8.5.55.tar.gz -C ./ +``` + +解压完之后, /usr/local/tomcat 目录中会出现一个 apache-tomcat-8.5.55 的目录 + +### 启动TOMCAT + +直接进 apache-tomcat-8.5.55 目录,执行其中 bin 目录下的启动脚本即可 + +```bash +[root@localhost apache-tomcat-8.5.55]# cd /usr/local/tomcat/bin/ +[root@localhost bin]# ./startup.sh +``` + +![image-20221118175326255](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118175326255.png) + +这时候浏览器访问: 主机IP:8080 ,得到如下画面说明成功启动了 + +![image-20221118175357191](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118175357191.png) + +### 配置快捷操作和开机启动 + +进入 /etc/rc.d/init.d 目录,创建一个名为 tomcat 的文件,并赋予执行权限 + +```bash +[root@localhost ~]# cd /etc/rc.d/init.d/ +[root@localhost init.d]# touch tomcat +[root@localhost init.d]# chmod +x tomcat +``` + +接下来编辑 tomcat 文件,并在其中加入如下内容: + +```bash +#!/bin/bash +#chkconfig:- 20 90 +#description:tomcat +#processname:tomcat +TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5.55 +case $1 in + start) su root $TOMCAT_HOME/bin/startup.sh;; + stop) su root $TOMCAT_HOME/bin/shutdown.sh;; + *) echo "require start|stop" ;; +esac +``` + +这样后续对于Tomcat的开启和关闭只需要执行如下命令即可: + +```bash +service tomcat start +service tomcat stop +``` + +最后加入开机启动即可: + +```bash +chkconfig --add tomcat +chkconfig tomcat on +``` + +## 10.WEB服务器NGINX安装部署 + +### 首先安装包并解压 + +这里下载的是 nginx-1.18.0.tar.gz 安装包,并将其直接放在了 /usr/src 目录下 + +``` +wget https://mirror.liuyan.wang/download/nginx/nginx-1.18.0.tar.gz -P /usr/src +``` + +1、进入 /usr/src + +```bash +cd /usr/src +``` + +2、将 Nginx 安装包解压 + +```bash +tar xvf nginx-1.18.0.tar.gz -C ./ +``` + +解压完之后, /usr/src 目录中会出现一个 `nginx-1.18.0` 的目录 + +### 预先安装额外的依赖 + +```bash +yum -y install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel +``` + +### 添加nginx用户 + +```bash +useradd nginx -s /sbin/nologin -M +``` + + + +### 编译安装NGINX + +```bash +cd /usr/src/nginx-1.18.0 +./configure --prefix=/usr/local/nginx --pid-path=/usr/local/nginx/log/nginx.pid --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-http_realip_module --with-http_sub_module --with-stream +``` + +```bash +make +make install +``` + +安装完成后,Nginx的可执行文件位置位于 + +```bash +/usr/local/nginx/sbin/nginx +``` + +### 启动NGINX + +直接执行如下命令即可: + +```bash +/usr/local/nginx/sbin/nginx +``` + +如果想停⽌Nginx服务,可执行: + +```bash +/usr/local/nginx/sbin/nginx -s stop +``` + +如果修改了配置文件后想重新加载Nginx,可执行: + +```bash +/usr/local/nginx/sbin/nginx -s reload +``` + +注意其配置文件位于: + +```bash +/usr/local/nginx/conf/nginx.conf +``` + +### 浏览器验证启动情况 + +![image-20221118181443748](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118181443748.png) + +## 11.DOCKER环境安装 + +### 卸载旧版本 + +较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。 + +```bash +yum -y remove docker \ + docker-client \ + docker-client-latest \ + docker-common \ + docker-latest \ + docker-latest-logrotate \ + docker-logrotate \ + docker-engine +``` + +### 设置仓库 + +安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。 + +```bash +yum install -y yum-utils device-mapper-persistent-data lvm2 +``` + +**使用以下命令来设置稳定的仓库。** + +阿里云 + +```bash +yum-config-manager \ + --add-repo \ + http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo +``` + +清华大学源 + +```bash +yum-config-manager \ + --add-repo \ + https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo +``` + +### 安装 Docker + +```bash +yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin +``` + +**如果要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:** + +```bash +$yum list docker-ce --showduplicates | sort -r + +docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable +docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable +docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable +docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable + +$yum install docker-ce- docker-ce-cli- containerd.io +``` + +### 启动 Docker并设置开机自启 + +```bash +systemctl start docker +systemctl enable docker +``` + +## 12.ELASTICSEARCH集群部署 + +### 环境准备 + +- **节点准备** + +本文准备搭建 **双节点** Elasticsearch集群(用双节点仅仅是做演示),因此这里准备了两台 Linux CentOS 7.4 64bit 机器: + +> - 节点1: 192.168.31.8 +> +> - 节点2: 192.168.31.9 + +- **Elasticsearch** **安装包准备** + +这里下载的是: `6.4.2` 版 + +```bash +wget https://mirror.liuyan.wang/download/elasticsearch/elasticsearch-6.4.2.tar.gz +``` + +- **安装目录准备** + +这里拟将 Elasticsearch安装在 /opt/elasticsearch 目录下: + +```bash +mkdir /opt/elasticsearch +``` + +将压缩包复制到该目录下并解压: + +```bash +cp elasticsearch-6.4.2.tar.gz /opt/elasticsearch/ +cd /opt/elasticsearch +tar xvf elasticsearch-6.4.2.tar.gz +``` + +### ELASTICSEARCH 集群配置 + +需要修改两个节点上的配置文件 `elasticsearch.yml` + +- **节点1配置** + +```yml +cluster.name: escluster # 集群名称 +node.name: sheep1 # 节点名 +network.host: 192.168.31.8 # 绑定的节点1地址 +network.bind_host: 0.0.0.0 # 此项不设置你试试本机可能访问不了啊 +discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] #hosts列表 +discovery.zen.minimum_master_nodes: 1 +## 如下配置是为了解决 Elasticsearch可视化工具 dejavu的跨域问题!若不用可视化工具则可省略之 +http.port: 9200 +http.cors.allow-origin: "http://192.168.199.76:1358" +http.cors.enabled: true +http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization +http.cors.allow-credentials: true +``` + +- **节点2配置** + + +```bash +cluster.name: escluster # 集群名称 +node.name: sheep1 # 节点名 +network.host: 192.168.31.9 # 绑定的节点2地址 +network.bind_host: 0.0.0.0 +discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] # +hosts列表 +discovery.zen.minimum_master_nodes: 1 +## 如下配置是为了解决 Elasticsearch可视化工具 dejavu的跨域问题!若不用可视化工具则可省略之 +http.port: 9200 +http.cors.allow-origin: "http://192.168.199.76:1358" +http.cors.enabled: true +http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization +http.cors.allow-credentials: true +``` + +### 集群启动前准备 + +- **创建用户及用户组** + +由于 Elasticsearch不能以 root用户启动,因此需要添加⾮ root用户: + +```bash +groupadd es +useradd es -g es +chown -R es:es ./elasticsearch-6.4.2 +``` + +- **关闭防火墙** + +```bash +systemctl stop firewalld +systemctl disable firewalld +``` + +### 启动 ELASTICSEARCH集群 + +- **切换用户** + +```bash +su es +``` + + + +- **分别在 节点1和 节点2上启动ES服务** + +```bash +cd bin +./elasticsearch // 若要后台启动,则加-d参数 +``` + +- **浏览器访问:http://ip:9200/ 查看启动效果** + +![image-20221118221505934](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118221505934.png) + +> 报错:**max file descriptors [4096] for elasticsearch process is too low** + +解决办法: + +```bash +vim /etc/security/limits.conf +``` + +使用root用户把以下配置加到文件末尾,再登录es用户尝试启动 + +```bash +es soft nofile 65536 +es hard nofile 65536 +``` + +![image-20221118221839640](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118221839640.png) + +> 报错:**max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]** + +解决办法: + +```bash +echo 262144 > /proc/sys/vm/max_map_count +``` + +- **命令行查看集群信息** + +![image-20221118222250849](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118222250849.png) + +## 13.ZOOKEEPER安装部署 + +### 准备安装包 + +这里使用的是 3.6.1 版,下载的是 apache-zookeeper-3.6.1-bin.tar.gz 压缩包,并将其放在了 /usr/src 目录下 + +```bash +wget https://mirror.liuyan.wang/download/zookeeper/apache-zookeeper-3.6.1-bin.tar.gz -P /usr/src +``` + +### 解压并安装 + +/usr/local/ 下创建 zookeeper 文件夹并进入 + +```bash +mkdir -p /usr/local/zookeeper +cd /usr/local/zookeeper +``` + +将 ZooKeeper 安装包解压到 /usr/local/zookeeper 中即可 + +```bash +[root@localhost zookeeper]# tar -zxvf /usr/src/apache-zookeeper-3.6.1-bin.tar.gz -C ./ +``` + +解压完之后, /usr/local/zookeerper 目录中会出现一个 apache-zookeeper-3.6.1-bin 的目录 + + 直接在该目录下创建个data目录 + +```bash +mkdir -p apache-zookeeper-3.6.1-bin/data +``` + + + +![image-20221118223548955](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118223548955.png) + +等下该 data 目录地址要配到 ZooKeeper 的配置文件中: + +### 创建配置文件并修改 + +进入到 zookeeper 的 conf 目录,复制 zoo_sample.cfg 得到 zoo.cfg : + +```bash +[root@localhost apache-zookeeper-3.6.1-bin]# cd conf/ +[root@localhost conf]# cp zoo_sample.cfg zoo.cfg +``` + +修改配置文件 zoo.cfg ,将其中的 dataDir 修改为上面刚创建的 data 目录,其他选项可以按需配置 + +![image-20221118223723092](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118223723092.png) + +### 启动ZOOKEEPER + +```bash +[root@localhost apache-zookeeper-3.6.1-bin]# ./bin/zkServer.sh start +``` + +![image-20221118223816158](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118223816158.png) + +启动后可以通过如下命令来检查启动后的状态: + +[root@localhost apache-zookeeper-3.6.1-bin]# ./bin/zkServer.sh status + +![image-20221118224553236](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118224553236.png) + +从图中也可以看出zookeeper默认会绑定端⼝ 2181 。 + +### 配置环境变量 + +编辑配置文件: + +```bash +vim /etc/profile +``` + +尾部加入 ZooKeeper 的 bin 路径配置即可 + +```bash +export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.6.1-bin +export PATH=$PATH:$ZOOKEEPER_HOME/bin +``` + +最后执行 source /etc/profile 使环境变量生效即可。 + +### 设置开机自启 + +首先进入 /etc/rc.d/init.d 目录,创建一个名为 zookeeper 的文件,并赋予执行权限 + +```bash +[root@localhost ~]# cd /etc/rc.d/init.d/ +[root@localhost init.d]# touch zookeeper +[root@localhost init.d]# chmod +x zookeeper +``` + +接下来编辑 zookeeper 文件,并在其中加入如下内容: + +```bash +#!/bin/bash +#chkconfig:- 20 90 +#description:zookeeper +#processname:zookeeper +ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.6.1-bin +export JAVA_HOME=/usr/local/java/jdk1.8.0_161 # 此处根据你的实际情况更换对应 +case $1 in + start) su root $ZOOKEEPER_HOME/bin/zkServer.sh start;; + stop) su root $ZOOKEEPER_HOME/bin/zkServer.sh stop;; + status) su root $ZOOKEEPER_HOME/bin/zkServer.sh status;; + restart) su root $ZOOKEEPER_HOME/bin/zkServer.sh restart;; + *) echo "require start|stop|status|restart" ;; +esac +``` + +最后加入开机启动即可: + +```bash +chkconfig --add zookeeper +chkconfig zookeeper on +``` + +## 14.消息队列KAFKA安装部署 + +### 首先准备ZOOKEEPER服务 + +因为 Kafka 的运行环境依赖于 ZooKeeper ,所以首先得安装并运行 ZooKeeper ,这个可以参考上面的内容。 + +### 准备KAFKA安装包 + +这里下载的是 2.5.0 版: kafka_2.12-2.5.0.tgz ,将下载后的安装包放在了 /usr/src 目录下 + +```bash +wget https://mirror.liuyan.wang/download/kafka/kafka_2.12-2.5.0.tgz -P /usr/src +``` + +### 解压并安装 + +在 /usr/local/ 下创建 kafka 文件夹并进入 + +```bash +mkdir -p /usr/local/kafka +cd /usr/local/kafka +``` + +将Kafka安装包解压到 /usr/local/kafka 中即可 + +```bash +[root@localhost kafka]# tar -zxvf /usr/src/kafka_2.12-2.5.0.tgz -C ./ +``` + +解压完之后, /usr/local/kafka 目录中会出现一个 kafka_2.12-2.5.0 的目录 + +### 创建LOGS目录 + +这里直接在 /usr/local/kafka/kafka_2.12-2.5.0 目录中创建一个 logs 目录 + +```bash +mkdir -p /usr/local/kafka/kafka_2.12-2.5.0/log +``` + + + +等下该 logs 目录地址要配到Kafka的配置文件中。 + +### 修改配置文件 + +进入到 Kafka 的 config 目录,编辑配置文件 server.properties + +```bash +[root@localhost kafka_2.12-2.5.0]# cd config/ +[root@localhost config]# vim server.properties +``` + +修改配置文件,一是将其中的 log.dirs 修改为上面刚创建的 logs 目录,其他选项可以按需配置 + +![image-20221118225753731](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118225753731.png) + +另外关注一下连接 ZooKeeper 的相关配置,根据实际情况进行配置: + +![image-20221118225823429](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118225823429.png) + +### 启动KAFKA + +执行如下命令即可: + +```bash +cd /usr/local/kafka/kafka_2.12-2.5.0 +./bin/kafka-server-start.sh ./config/server.properties +``` + +![image-20221118225913005](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118225913005.png) + +> 如果需要后台启动,则加上 -daemon 参数即可 + +### 实验验证 + +首先创建一个名为 topic 的 topic : + +![image-20221118234026684](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118234026684.png) + +创建完成以后,可以使用命令来列出目前已有的 topic 列表 + +``` +cd /usr/local/kafka/kafka_2.12-2.5.0 +./bin/kafka-topics.sh --list --bootstrap-server localhost:9092 +``` + +接下来创建一个**生产者**,用于在 topic 这个 topic 上生产消息: + +```bash +cd /usr/local/kafka/kafka_2.12-2.5.0 +./bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic topic +``` + +⽽后接着创建一个**消费者**,用于在 codesheep 这个 topic 上获取消息: + +```bash +cd /usr/local/kafka/kafka_2.12-2.5.0 +./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic +``` + +此时生产者发出的消息,在消费者端可以获取到: + +![image-20221118234538148](http://kodo.imbed.liuyan.wang/typora_img/note/dalaobushuwendangimage-20221118234538148.png) + +## 15.数据库mongodb安装部署 + +### 下载mongodb包并解压 + +```bash +cd /usr/local +wget https://mirror.liuyan.wang/download/mongodb/mongodb-linux-x86_64-3.6.17.tgz +tar -zxvf mongodb-linux-x86_64-rhel70-3.6.17.tgz +mv mongodb-linux-x86_64-rhel70-3.6.17.tgz mongodb +``` + +然后 在/usr/local/mongodb目录下新建data目录,在data目录下新建db目录、logs目录,并新建mongodb.conf文件,后续会用到,建完之后,赋予权限。 + +```bash +chmod +x -R /usr/local/mongodb +``` +### 初始化配置 + +首先,修改/usr/local/mongodb/data/目录下的mongodb.conf文件,设置部分基础的参数,修改后保存。 + +```json +systemLog: + destination: file + path: "/usr/local/mongodb/data/logs/mongodb.log" + logAppend: true +storage: + dbPath: "/usr/local/mongodb/data/db/" + journal: + enabled: true +processManagement: + fork: true + pidFilePath: "/usr/local/mongodb/data/mongodb.pid" +net: + bindIp: 0.0.0.0 + port: 27017 + maxIncomingConnections: 3000 +setParameter: + enableLocalhostAuthBypass: false +#security: +# authorization: enabled + +``` +修改配置文件后,启动mongodb数据库,启动数据库后,可以无密码本地访问、远程访问。 + +```bash +/usr/local/mongodb/bin/mongod --config=/usr/local/mongodb/data/mongodb.conf --fork +``` +![](http://cdn.imbed.liuyan.wang/picgo_img20220801145652.png) + +启动数据库后,进入数据库进行配置,新增远程访问账户 + +```json +use admin +db.createUser({user:"root",pwd:"mypassword",roles:[{role:"root",db:"admin"}]}) +db.auth("root","mypassword") +``` +同时,还要修改配置文件,设置远程访问。把配置文件中的注释项修改。 + +```json +#security: + authorization: enabled +``` +修改后,关闭数据并重启数据库 + +#查询进程 +ps -ef|grep mongodb + +关闭mongodb数据库(注意:要用-2参数,不要使用-9参数,区别请查询相关信息) + +```bash +kill -2 进程号 +/usr/local/mongodb/bin/mongod --config=/usr/local/mongodb/data/mongodb.conf --fork +``` + +> 然后使用Robo 3T工具进行远程测试: +![](http://cdn.imbed.liuyan.wang/picgo_img20220801151813.png) + +### 添加mongodb服务 + +使用下面命令进行启动,并且查询进程号关闭比较麻烦,可以把mongodb添加到系统服务,这样就可以直接使用系统命令进行启动关闭。 + +```bash +/usr/local/mongodb/bin/mongod --config=/usr/local/mongodb/data/mongodb.conf –fork +``` +首先,在/usr/lib/systemd/system/目录下新增一个mongodb.service,并新增如下内容。 +```bash +vim /usr/lib/systemd/system/mongodb.service + +[Unit] +Description=mongodb +After=network.target +[Service] +Type=forking +ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/data/mongodb.conf +PrivateTmp=true +[Install] +WantedBy=multi-user.target + +chmod +x /usr/lib/systemd/system/mongodb.service +``` +配置后,就可以使用systemctl start|stop|status mongodb.service进行启动关闭。 +当然,你也可以配置service start|stop|status mongodb进行数据库操作,具体请自行查找(上面其他步骤中有使用)。 + +### 设置一个超级管理员账户 + +设置一个超级管理员账户,对于所有库具有读写权限 + +**①切换admin库,进行用户创建** + +```json +use admin +db.createUser({user:"root",pwd:"root",roles:["root"]}) +``` + +**②关闭mongod服务,重启添加权限参数并启动** +![](http://cdn.imbed.liuyan.wang/picgo_imgwps206.jpg) + +在启动脚本中加入--auth参数 + +```json +/usr/local/mongodb/bin/mongod --auth --config=/usr/local/mongodb/data/mongodb.conf –fork +``` + +## 16.memcache安装部署 + +## 首先获取安装包 + +```bash +wget https://mirror.liuyan.wang/download/memcached/memcached-1.5.22.tar.gz -P /usr/src +``` + +### 解压并进入安装包 + +```bash +cd /usr/src +tar xvf memcached-1.5.22.tar.gz +cd memcached-1.5.22 +``` + +### 安装依赖 + +```bash +yum -y install libevent-devel +``` + +### 编译安装memcached + +```bash +./configure --prefix=/usr/local/memcached +make && make install +``` + +### 查看软件启动参数,并启动 + +```bash +cd /usr/local/memcached/bin +./memcached -h +``` + +> -p是设置Memcache监听的端口,最好是1024以上的端口; +> +> -d是启动一个守护进程; +> +> -m是分配给Memcache使用的内存数量,单位是MB; +> +> -u是运行Memcache的用户; +> +> -l是监听的服务器IP地址,可以有多个地址; +> +> -c是最大运行的并发连接数,默认是1024; +> +> -P是设置保存Memcache的pid文件 + +### 启动memcached + +```bash +#进入memcached文件目录 +cd /usr/local/memcached/bin +#后台启动memcached 可以创建一个普通用户(memcached) 用来启动管理memcached软件 +./memcached -uroot -d +#进程查看是否启动成功 +ps aux |grep memcached +``` + +...未完待续