想在虚拟机上搭建公司项目的测试环境,问了开发,大概有几步工作要做:
- 安装虚拟机(略)
- 安装CentOS7 操作系统(略)
- 安装 jdk 1.8
- 安装 mysql 5.7
- 安装 Redis 4.0.6
- 安装 Tomcat 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
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 将本机下载的文件上传至 虚拟机服务器上。
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}
保存并退出(按":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
(如果文中的下载链接失效了,可以参照下图,找到最新的下载链接)
4.1.4 关于解压
文中是直接在当前路径【/usr/local/src】下解压的,所以解压后文件名称如下:
我使用了mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql 命令,将 【mysql-5.7.25-linux-glibc2.12-x86_64 mysql】这个文件夹名称重新命名成 mysql,以保持跟后面的命令一致
4.1.5 安装数据库
在【/usr/local/mysql】路径下,执行 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 命令。效果如下:
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 命令 确认
使用 【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
(软连接是个好东西)
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 命令时,提示找不到文件。
(•_•)?原因
当前处在 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.”
(•_•)?原因
我的解压文件夹【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】下的,因此,需要重新修改下路径
解决办法
修改命令如下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
可以看到,重新执行命令后,没有 error 提示了,同时,bin 和 data 文件夹在同一个目录下,删除掉原先的 data 文件夹
报错3:登录 mysql ,允许 show databases; 命令报错
(•_•)?原因
初始化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
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 更新配置
5.9.4 关闭redis进程
<1>使用ps -aux | grep redis查看redis进程
<2>使用kill命令杀死进程
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
<5>. 现在可以直接已服务的形式启动和关闭redis了
启动:service redisd start
关闭:service redisd stop
<6>. 报错
/var/run/redis_6379.pid exists, process is already running or crashed
解决办法
参考资料:[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
但是又出现了/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改为自己的密码”
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 找到下载地址:
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/
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
也加上这段代码
执行命令4:. /etc/profile
6.2 测试是否安装成功
在浏览器地址栏输入 http://ip:8080访问
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 端口
关于解决端口被占用,重启等操作,见https://www.cnblogs.com/boonya/p/7907999.html
效果如下:
7.6 设置开机自启动
8. 配置 Nginx 指向某个静态页面
我在 /usr/local/nginx/html 目录下新建了一个文件夹 webhis,然后配置Nginx如下:
8.1 如何解压 rar 文件
参考:https://www.cnblogs.com/qinglin/p/9007939.html
报错:/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