【百人计划】005 linux 实战 -- 搭建项目环境

想在虚拟机上搭建公司项目的测试环境,问了开发,大概有几步工作要做:

  1. 安装虚拟机(略)
  2. 安装CentOS7 操作系统(略)
  3. 安装 jdk 1.8
  4. 安装 mysql 5.7
  5. 安装 Redis 4.0.6
  6. 安装 Tomcat 7
  7. 安装 Nginx

格式排版比较乱,后面再优化,话说这个图片尺寸我一直不知道怎么弄,走过路过的大神指点下

参考博客:

https://www.cnblogs.com/xuliangxing/p/7066913.html(jdk)
https://blog.csdn.net/weixin_42266606/article/details/80863781(通过这篇文章知道了 vim 的好处)
https://blog.csdn.net/z13615480737/article/details/80019881(mysql)

3. 安装 jdk

3.1 先查看系统有没有自带的openjdk

【百人计划】005 linux 实战 -- 搭建项目环境_第1张图片
查看系统有没有自带的openjdk

3.2 下载 jdk 1.8

本来想下载 jdk1.7,后来发现怎么都不能成功,有说是1.7版本不存在了,所以用1.8版本。

直接通过 wget命令下载的文件无法正常解压,所以采用了另一种办法,先在本机上访问https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载压缩包,然后通过 FileZilla Client 将本机下载的文件上传至 虚拟机服务器上。

【百人计划】005 linux 实战 -- 搭建项目环境_第2张图片
image.png

3.3 解压后设置jdk环境变量

vi /etc/profile

用 vi 编辑器来编辑profile文件,在文件末尾添加一下内容(按“i”进入编辑):

1 export JAVA_HOME=/usr/local/java/jdk1.8.0_201
2 export JRE_HOME=${JAVA_HOME}/jre
3 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
4 export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
5 export PATH=$PATH:${JAVA_PATH}
【百人计划】005 linux 实战 -- 搭建项目环境_第3张图片
image.png

保存并退出(按":wq!")。
通过命令 source /etc/profile 让 profile 文件立即生效

3.4 测试是否安装成功

①、使用javac命令,不会出现command not found错误
②、使用java -version,出现版本为java version "1.8.0_131"
③、echo $PATH,看看自己刚刚设置的的环境变量配置是否都正确

4 安装 mysql

4.1 参考文章:https://blog.csdn.net/z13615480737/article/details/80019881

4.1.1 安装依赖

yum install -y cmake make gcc gcc-c++ libaio ncurses ncurses-devel

4.1.2 切换到 【/usr/local/src】目录下

使用命令 cd /usr/local/src

4.1.3 下载安装包

执行命令 wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar

(如果文中的下载链接失效了,可以参照下图,找到最新的下载链接)


【百人计划】005 linux 实战 -- 搭建项目环境_第4张图片
image.png

【百人计划】005 linux 实战 -- 搭建项目环境_第5张图片
image.png

【百人计划】005 linux 实战 -- 搭建项目环境_第6张图片
image.png

4.1.4 关于解压

image.png

文中是直接在当前路径【/usr/local/src】下解压的,所以解压后文件名称如下:

image.png

我使用了mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql 命令,将 【mysql-5.7.25-linux-glibc2.12-x86_64 mysql】这个文件夹名称重新命名成 mysql,以保持跟后面的命令一致

【百人计划】005 linux 实战 -- 搭建项目环境_第7张图片
image.png

4.1.5 安装数据库

在【/usr/local/mysql】路径下,执行 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 命令。效果如下:

【百人计划】005 linux 实战 -- 搭建项目环境_第8张图片
image.png

4.1.6 执行以下命令创建RSA private key

bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

4.1.7 修改当前目录拥有者为mysql用户

chown -R mysql:mysql ./

4.1.8 修改当前data目录拥有者为mysql用户

chown -R mysql:mysql data

4.1.9 配置my.cnf

vim /etc/my.cnf (直接把下面内容复制上就行)

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不区分大小写 
lower_case_table_names = 1
#不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

4.1.10添加开机启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

4.1.11 修改 vim /etc/init.d/mysqld

添加路径

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

4.1.12 启动mysql service mysqld start

由于第二次重装 mysql,导致之前安装的 mysql 还有进程在运行,使用 该命令启动时,提示“The server quit without updating PID file (/usr/local/mysql/data/mysqld.pid)”
查阅资料:
https://blog.csdn.net/ydyang1126/article/details/72473828
https://blog.csdn.net/qq_33528613/article/details/77743143

4.1.13 使用 ps -ef|grep mysqld 命令 确认

【百人计划】005 linux 实战 -- 搭建项目环境_第9张图片
image.png

使用 【kill -9 进程号 】命令,再次执行service mysqld start 命令,成功。

4.1.14 加入开机起动

chkconfig --add mysqld

4.1.15 登录修改密码

mysql -uroot -p

如果出现错误 需要添加软连接

ln -s /usr/local/mysql/bin/mysql /usr/bin

(软连接是个好东西)

【百人计划】005 linux 实战 -- 搭建项目环境_第10张图片
image.png

4.2 遇到的问题

以下是第一次安装出现的问题,可以看到目录还是【mysql-5.7.25-linux-glibc2.12-x86_64】,没有重命名成 mysql

报错1:执行 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 命令时,提示找不到文件。

【百人计划】005 linux 实战 -- 搭建项目环境_第11张图片
image.png

(•_•)?原因

当前处在 mysql 目录下,没有进入 【mysql-5.7.25-linux-glibc2.12-x86_64】目录。

解决办法

执行 cd mysql-5.7.25-linux-glibc2.12-x86_64 命令,进入该目录下,再执行上面的命令;

报错2:1个ERROR+5个警告

重点

“Can't find error-message file '/usr/local/mysql/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.”

【百人计划】005 linux 实战 -- 搭建项目环境_第12张图片
image.png

(•_•)?原因

我的解压文件夹【mysql-5.7.25-linux-glibc2.12-x86_64】的位置是在 /usr/local/mysql 目录下,而命令中指定的basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 都是直接到mysql文件夹,可以观察到我的/usr/local/mysql 文件夹下没有data文件夹,data文件夹是在 我的解压文件夹【mysql-5.7.25-linux-glibc2.12-x86_64】下的,因此,需要重新修改下路径

【百人计划】005 linux 实战 -- 搭建项目环境_第13张图片
image.png

解决办法

修改命令如下bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.25-linux-glibc2.12-x86_64 --datadir=/usr/local/mysql/mysql-5.7.25-linux-glibc2.12-x86_64/data


【百人计划】005 linux 实战 -- 搭建项目环境_第14张图片
image.png

可以看到,重新执行命令后,没有 error 提示了,同时,bin 和 data 文件夹在同一个目录下,删除掉原先的 data 文件夹


【百人计划】005 linux 实战 -- 搭建项目环境_第15张图片
image.png

报错3:登录 mysql ,允许 show databases; 命令报错

【百人计划】005 linux 实战 -- 搭建项目环境_第16张图片
image.png

(•_•)?原因

初始化MySQL时生成的随机密码,只能用于初次登录。如果你要使用SQL语句作其他操作,就要修改密码后才能进行了。否则会报错“ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.”。

解决办法

参考:https://jingyan.baidu.com/article/5553fa82a9858365a23934e1.html
通过SET指令修改密码。

SET PASSWORD=PASSWORD('newpassword');

到此MySQL就安装完毕了,可以愉快的使用MySQL提供的服务了。

5. 安装 Redis

参考文档:

https://www.cnblogs.com/zuidongfeng/p/8032505.html
https://blog.csdn.net/u010623954/article/details/80037078
https://www.cnblogs.com/zk1023/p/9465430.html

5.1 下载 redis 安装包

在【/usr/local/src】目录下执行 wget http://download.redis.io/releases/redis-4.0.6.tar.gz

5.2 解压压缩包

tar -zxvf redis-4.0.6.tar.gz

5.3 将文件复制到 【/usr/local】目录下

cp -r redis-4.0.6 /usr/local

5.4 安装gcc依赖

yum install gcc

之前安装 mysql时已经安装过依赖了,所以这里会提示已存在,可忽略。

5.5 跳转到redis解压目录下

cd redis-4.0.6

5.6 编译安装

make MALLOC=libc

5.7 将/usr/local/redis-4.0.6/src目录下的文件加到/usr/local/bin目录

cd src && make install

5.8 启动redis,测试是否安装成功

cd /usr/local/redis-4.0.6/src/
./redis-server

redis启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便,按 ctrl + c 关闭窗口。

5.9 配置redis

5.9.1 以后台进程方式启动

<1>.修改/usr/local/redis-4.0.9/redis.conf: daemonize no 将值改为yes ,保存,退出
<2>. vim redis.conf
<3>. cat redis.conf |grep "daemonize"

5.9.2 指定redis.conf文件启动

./redis-server /usr/local/redis-4.0.6/redis.conf

【百人计划】005 linux 实战 -- 搭建项目环境_第17张图片
image.png

5.9.3 设置redis远程连接:

a.因为redis默认设置允许本地连接,所以我们要将redis.conf中将bind 127.0.0.1 改为bind 0.0.0.0或者注释该行
b.另外,阿里云ECS有一个安全组,找到并添加规则允许6379端口访问

设置redis连接密码:

在redis.conf中搜索requirepass这一行,然后在合适的位置添加配置
找到 #requirepass foobared去掉注释,foobared改为自己的密码 例如这里我改成123456

设置完成后执行/usr/local/bin/redis-server /usr/local/redis-4.0.6/redis.conf 更新配置


image.png

5.9.4 关闭redis进程

<1>使用ps -aux | grep redis查看redis进程

image.png

<2>使用kill命令杀死进程

image.png

5.9.5 设置开机自启动

<1>. 在/etc目录下新建redis目录
mkdir redis
<2>. 将/usr/local/redis-4.0.6/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf
cp /usr/local/redis-4.0.6/redis.conf /etc/redis/6379.conf
<3>. 将redis的启动脚本复制一份放到/etc/init.d目录下
cp /usr/local/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd
<4>. 设置redis开机自启动
切换到/etc/init.d目录下
执行自启命令
chkconfig redisd on

【百人计划】005 linux 实战 -- 搭建项目环境_第18张图片
image.png

<5>. 现在可以直接已服务的形式启动和关闭redis了
启动:service redisd start 
关闭:service redisd stop
<6>. 报错
/var/run/redis_6379.pid exists, process is already running or crashed

image.png

解决办法
参考资料:[ http://blog.csdn.net/luozhonghua2014/article/details/54649295]

①:用安装文件启动 redis-server /etc/redis/6379.conf
②:shutdown -r now 软重启让系统自动恢复下

<7>. 开启redis-server提示 # Creating Server TCP listening socket *:6379: bind: Address already in use
参考文章:https://blog.csdn.net/guo13313/article/details/70666453
第一步:找到进程

ps -ef | grep -i redis

第二步:杀死进程

kill -9 进程号

第三步:重新启动redis服务器

./redis-server
【百人计划】005 linux 实战 -- 搭建项目环境_第19张图片
image.png

但是又出现了/var/run/redis_6379.pid exists, process is already running or crashed,最终找到另一篇文章:
https://blog.csdn.net/weixin_43462069/article/details/87015642

直接删除了

5.10 用可视化工具连接 redis

参考文章:https://www.cnblogs.com/shihuibei/p/9256397.html

工具:RedisDesktopManager
主机 ip:用虚拟机 ip addr 命令查看
Auth :就是 redis.conf 文件中设置的“#requirepass foobared去掉注释,foobared改为自己的密码”


【百人计划】005 linux 实战 -- 搭建项目环境_第20张图片
image.png

5.11 测试redis是否安装成功

参考文章:http://www.cnblogs.com/wenqiang/p/5506744.html

6. 安装 tomcat 7

参考文章:https://blog.51cto.com/13525470/2073657

6.1 下载源码安装包

6.1.1 找到下载地址:

【百人计划】005 linux 实战 -- 搭建项目环境_第21张图片
image.png

6.1.2 下载:

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.94/bin/apache-tomcat-7.0.94.tar.gz

6.1.3 解压

tar xvf apache-tomcat-7.0.94.tar.gz -C /usr/local/

6.1.4 移动

mv /usr/local/apache-tomcat-7.0.94/ /usr/local/tomcat/

【百人计划】005 linux 实战 -- 搭建项目环境_第22张图片
image.png

【百人计划】005 linux 实战 -- 搭建项目环境_第23张图片
image.png

6.1.5 重新命名文件路径

/usr/local/tomcat_cluster/tomcat1

参考 https://blog.csdn.net/loveer0/article/details/82591266 中的集群概念。

6.2 配置Tomcat 环境变量

6.2.1 定义在单个tomcat的启动和关闭程序里

执行命令1:vim /usr/local/tomcat/bin/startup.sh
执行命令2:vim /usr/local/tomcat/bin/shutdown.sh

代码如下:

export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export TOMCAT_HOME=/usr/local/tomcat_cluster/tomcat1
export CATALINA_HOME=${TOMCAT_HOME}
export CLASS_PATH=.:${JAVA_HOME}/bin/lib:${JAVA_HOME}/jre/lib:${JAVA_HOME}/lib/tool.jar
export PATH=$PATH:${JAVA_HOME}/bin:${TOMCAT_HOME}/bin

执行命令3:vim /etc/profile
也加上这段代码


【百人计划】005 linux 实战 -- 搭建项目环境_第24张图片
image.png

执行命令4:. /etc/profile

6.2 测试是否安装成功

在浏览器地址栏输入 http://ip:8080访问

【百人计划】005 linux 实战 -- 搭建项目环境_第25张图片
image.png

7. 安装 Nginx

参考文章:https://www.cnblogs.com/boonya/p/7907999.html

7.1 安装 PCRE pcre-devel

yum install -y pcre pcre-devel

7.2 安装 zlib

yum install -y zlib zlib-devel

7.3 安装OpenSSL

yum install -y openssl openssl-devel

7.4 下载 Nginx 源码安装包

去官网地址[https://nginx.org/en/download.html]下载 ,找到稳定版;
在 /usr/local/src 目录下,执行 wget https://nginx.org/download/nginx-1.14.2.tar.gz

7.5 解压 ,编译

tar -zxvf nginx-1.14.2.tar.gz 
cd nginx-1.14.2 
./configure
make
make install

7.6 启动 Nginx

查找安装路径 whereis nginx

cd /usr/local/nginx/sbin/
./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

参考文章:https://www.cnblogs.com/wyd168/p/6636529.html

80端口在安装 Tomcat 时,被占用,所以修改 Nginx 端口


【百人计划】005 linux 实战 -- 搭建项目环境_第26张图片
image.png

关于解决端口被占用,重启等操作,见https://www.cnblogs.com/boonya/p/7907999.html

【百人计划】005 linux 实战 -- 搭建项目环境_第27张图片
image.png

效果如下:


【百人计划】005 linux 实战 -- 搭建项目环境_第28张图片
image.png

7.6 设置开机自启动

【百人计划】005 linux 实战 -- 搭建项目环境_第29张图片
image.png

8. 配置 Nginx 指向某个静态页面

我在 /usr/local/nginx/html 目录下新建了一个文件夹 webhis,然后配置Nginx如下:


【百人计划】005 linux 实战 -- 搭建项目环境_第30张图片
image.png

8.1 如何解压 rar 文件

参考:https://www.cnblogs.com/qinglin/p/9007939.html

【百人计划】005 linux 实战 -- 搭建项目环境_第31张图片
image.png

报错:/usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

参考:https://blog.csdn.net/hjjhce/article/details/47751815

【百人计划】005 linux 实战 -- 搭建项目环境_第32张图片
image.png

你可能感兴趣的:(【百人计划】005 linux 实战 -- 搭建项目环境)