实验环境:
linux虚拟机(可与宿主机互通)
软件下载链接
链接:pan.baidu.com/s/16OERnL73… 提取码:1234
1、Xshell安装
下载完成,双击运行,开始安装
选"我接受"
更改安装位置
默认就可以
安装中...(很快)
安装完成(因为之前安装过,保留了以前的会话信息)
2、Xftp安装
与Xshell安装步骤一致
开始安装 --> 接受协议 --> 更改安装位置 --> 默认 --> 安装中...
3、Xshell连接虚拟机
启动虚拟机
新建连接会话
设置会话名称(建议与虚拟机名称一致)、虚拟机ip、端口号
输入root、root密码
接受并保存密钥
连接成功
4、测试Xftp传输文件
4.1、传输文件
可以直接在Xshell中直接打开Xftp
Xftp左侧为宿主机(也就是本机),右侧为虚拟机
在/usr/local目录下新建java、mysql、redis、nginx文件夹
cd /usr/local
mkdir /usr/local/java
mkdir /usr/local/mysql
mkdir /usr/local/redis
mkdir /usr/local/nginx
# 查看目录下文件(详细)
ll
传输文件(这里以传jdk为例)
传输成功
分别再将mysql、redis、nginx上传至指定文件夹
4.2、上传文件失败解决方案
如果上传文件失败,需要修改/usr/local目录下的权限,不修改可能会导致文件上传失败(正常情况不会上传失败)
# 修改 /usr/local 目录权限,777表最高权限
sudo chmod -R 777 /opt/software
# 修改 /usr/local 目录及其下所有目录的权限
sudo chmod -R 777 /opt/software/
# 若是 root 用户
chmod -R 777 /opt/software
chmod -R 777 /opt/software/
5、配置用户(clannad)权限
5.1、修改 sudoers 文件
# 切换为 root 用户,需要输入 root 密码
su -
# 进入 sudoers 文件
vi /etc/sudoers
# 修改 sudoers 文件,添加 NOPASSWD:ALL 使用 sudo 不需要重新输入密码
# sudo 表示什么? 用户 clannad 可以直接使用 root 权限
clannad ALL= (ALL) NOPASSWD:ALL
修改后,如下图所示:
5.2、测试是否成功
# 切换至 clannad 用户
su clannad
# 使用 root 权限,查看 sudoers 内容
sudo cat /etc/sudoers
6、JDK安装
6.1、卸载已有的 OPENJDK(如果有)
# 如果系统⾃带有 OpenJDK ,可以按照如下步骤提前卸载之。
# ⾸先查找已经安装的 OpenJDK 包:
rpm -qa | grep java
# 接下来可以将 java 开头的安装包均卸载即可:
yum -y remove java-1.7.0-openjdk-headless.x86_64
yum -y remove javapackages-tools.noarch
...
6.2、安装
安装包解压
# 进入 java 文件夹
cd /usr/local/java
# 解压,解压完之后, /usr/local/java ⽬录中会出现⼀个 jdk1.8.0_161 的⽬录
tar -zxvf jdk-8u161-linux-x64.tar.gz
# 编辑 /etc/profile ⽂件,在⽂件尾部加⼊如下 JDK 环境配置即可
vim /etc/profile
# 配置环境变量
JAVA_HOME=/usr/local/java/jdk1.8.0_161
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
# 然后执⾏如下命令让环境变量⽣效
source /etc/profile
# 输⼊如下命令即可检查安装结果
java -version
javac
7、mysql
7.1、卸载系统⾃带的MARIADB(如果有)
# 查询已安装的 Mariadb 安装包
rpm -qa|grep mariadb
# 移除
yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
安装包解压
# 进入 mysql 文件夹
cd /usr/local/mysql
# 解压
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
# 复制 mysql-5.7.30-linux-glibc2.12-x86_64 至 /usr/local 目录下
cp -rp mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/
# 删除原 mysql 目录
rm -rf mysql
# mysql-5.7.30-linux-glibc2.12-x86_64 重命名为 mysql
mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql
7.2、准备工作
创建MYSQL⽤户和⽤户组
# 进入 mysql 文件夹
cd /usr/local/mysql
# 创建MYSQL⽤户和⽤户组
groupadd mysql
useradd -g mysql mysql
# 同时新建 /usr/local/mysql/data ⽬录,后续备⽤
mkdir /usr/local/mysql/data
# 修改MYSQL⽬录的归属⽤户
chown -R mysql:mysql ./
准备MYSQL的配置⽂件
# 准备MYSQL的配置⽂件
# 在 /etc ⽬录下新建 my.cnf ⽂件
vim /etcmy.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 ⽬录,并修改权限:
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
7.3、开始安装MYSQL
# 执⾏如下命令正式开始安装:
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 注意:记住下⾯打印出来的 root 的密码,后⾯⾸次登陆需要使⽤(每个人的并不相同)
# nJT,KgBMZ3af
复制启动脚本到资源⽬录
# 执⾏如下命令复制:
cp ./support-files/mysql.server /etc/init.d/mysqld
# 并修改 /etc/init.d/mysqld ,修改其 basedir 和 datadir 为实际对应⽬录:
vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
7.4、MYSQL开机自启动设置
# ⾸先增加 mysqld 服务控制脚本执⾏权限:
chmod +x /etc/init.d/mysqld
# 同时将 mysqld 服务加⼊到系统服务:
chkconfig --add mysqld
# 最后检查 mysqld 服务是否已经⽣效即可:
chkconfig --list mysqld
# 如下图,这样就表明 mysqld 服务已经⽣效了,在2、3、4、5运⾏级别随系统启动⽽⾃动启动,以后可以直接使⽤ service 命令控制 mysql 的启停。
7.6、启动MYSQL
# 直接执⾏:
service mysqld start
SUCCESS!表示成功
将 MYSQL 的 BIN ⽬录加⼊ PATH 环境变量
# 这样⽅便以后在任意⽬录上都可以使⽤ mysql 提供的命令。
# 编辑 ~/.bash_profile ⽂件,~字符代表当前用户的主目录
vim ~/.bash_profile
# 在⽂件末尾处追加如下信息
export PATH=$PATH:/usr/local/mysql/bin
# 最后执⾏如下命令使环境变量⽣效
source ~/.bash_profile
⾸次登陆MYSQL
# 以 root 账户登录 mysql ,使⽤上⽂安装完成提示的密码进⾏登⼊(密码在上面有记录)
mysql -u root -p
# 接下来修改ROOT账户密码
mysql>alter user user() identified by "123456";
mysql>flush privileges;
# ⽐如这⾥将密码设置成简单的"123456"
登录成功!
7.7、设置远程主机登录
mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;
最后利⽤NAVICAT等⼯具进⾏测试即可
如果连接失败(报错10060),可能是防火墙开着,关闭后就可以
也可以选择禁止firewall开机启动,自己的虚拟机,问题不大
8、redis
安装包解压
# 进入 redis 文件夹
cd /usr/local/redis
# 解压,解压完之后, /usr/local/redis ⽬录中会出现⼀个 redis-5.0.8 的⽬录
tar -zxvf redis-5.0.8.tar.gz
8.1、编译并安装
cd redis-5.0.8/
# 拆分执行效果一致
make && make install
# 拆分
make
make insatll
安装过程中,若出现以下错误消息(关于GCC)
# 表明缺少 GCC 编译器,执行以下命令在系统上安装 GCC
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker
# 安装 GCC 完成后,建议删除 redis-5.0.8 文件夹,重新解压安装
# 删除命令
rm -rf /usr/local/redis/redis-5.0.8
安装中...
PS:遇到停顿,输入 y 并回车
将 REDIS 安装为系统服务并后台启动
# 进⼊ utils ⽬录,并执⾏如下脚本即可:
cd utils/
./install_server.sh
# 此处我全部选择的默认配置即可,有需要可以按需定制
8.2、查看REDIS服务启动情况
# 查看 redis 状态
systemctl status redis_6379.service
# 若redis服务停止,重启 Redis 服务即可
systemctl restart redis_6379.service
启动REDIS客户端并测试
# 进入 redis
redis-cli
# 但是此时只能在本地访问,⽆法远程连接,因此还需要做部分设置
8.3、设置允许远程连接
# 编辑 redis 配置⽂件
vim /etc/redis/6379.conf
# 将 bind 127.0.0.1 修改为 0.0.0.0
8.4、访问密码设置
# 编辑 redis 配置⽂件
vim /etc/redis/6379.conf
# 找到如下内容:requirepass foobared
# 进入vim编辑器后,按下/键进入搜索模式。
# 输入"requirepass"并按下回车键。Vim将会跳转到第一个匹配到的"requirepass"所在的行
# 去掉注释,将 foobared 修改为⾃⼰想要的密码,保存即可。
requirepass 123
# 保存,重启 Redis 服务即可
systemctl restart redis_6379.service
# 这样后续的访问需要先输⼊密码认证通过
取消密码
# 启动redis,执行 config set requirepass '',即可
config set requirepass ''
8.5、redis设置开机自启动
在系统服务目录里创建 redis.service 文件
vi /usr/lib/systemd/system/redis.service
写入内容如下:
[Unit]
Description=Redis Server
After=network.target
[Service]
ExecStart=/usr/local/bin/redis-server /usr/local/redis/redis-5.0.8/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
更新Systemd服务列表并启用Redis服务
systemctl daemon-reload
systemctl enable redis.service
# 验证Redis服务是否已启用:
sudo systemctl is-enabled redis.service
# 如果返回值为enabled,则表示Redis服务已成功设置为开机自启动。
新Systemd服务列表并启用Redis服务
# 重启服务器(稍等一会再连接)
reboot
# 再次连接后,查看 redis 服务状态,确保它处于活动状态。
sudo systemctl start redis.service # 启动Redis服务
sudo systemctl stop redis.service # 停止Redis服务
sudo systemctl restart redis.service # 重启Redis服务
sudo systemctl status redis.service # 检查Redis服务状态
9、ngnix
安装包解压
# 进入 nginx 文件夹
cd /usr/local/nginx
# 解压,解压完之后, /usr/local/nginx ⽬录中会出现⼀个 redis-5.0.8 的⽬录
tar -zxvf redis-5.0.8.tar.gz
9.1、预先安装额外的依赖
yum -y install pcre-devel
yum -y install openssl openssl-devel
9.2、编译安装NGINX
cd nginx-1.17.10
./configure
make && make install
# 安装完成后,Nginx的可执⾏⽂件位置位于
/usr/local/nginx/sbin/nginx
直接执⾏如下命令即可运行
/usr/local/nginx/sbin/nginx
# 浏览器输入 ip 地址,即可访问 nginx
# 虚拟机ip
9.3、nginx设置开机自启动
1、在系统服务目录里创建nginx.service文件
vim /usr/lib/systemd/system/nginx.service
2、写入内容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# [Unit]:服务的说明
# Description:描述服务
# After:描述服务类别
# [Service]服务运行参数的设置
# Type=forking是后台运行的形式
# ExecStart为服务的具体运行命令
# ExecReload为重启命令
# ExecStop为停止命令
# PrivateTmp=True表示给服务分配独立的临时空间
# 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
# [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
设置开机自启动
systemctl enable nginx.service
# 验证Redis服务是否已启用:
sudo systemctl is-enabled nginx.service
# 如果返回值为enabled,则表示 nginx 服务已成功设置为开机自启动。
sudo systemctl start nginx # 启动Nginx服务
sudo systemctl stop nginx # 停止Nginx服务
sudo systemctl restart nginx # 重启Nginx服务
sudo systemctl status nginx # 检查Nginx服务状态
9.4、显示Active: inactive (dead)?
为什么显示Active: inactive (dead)?
解决方法:杀死nginx重启nginx
# 杀死nginx
pkill -9 nginx
# 再次查看
ps aux | grep nginx
# 重启 nginx 服务
systemctl start nginx
再次查看状态,变成了active
重启服务器,验证是否成功
reboot
# 再次连接后,查看服务状态
systemctl status nginx.service
看到nginx已经启动,至此,nginx自启动配置成功