# 编程环境和软件设施安装手册 ## 环境声明(重要!!!) 本文档所有实验、环境、工具、软件均基于 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 ``` ...未完待续