一、centos7在离线环境下配置各种服务
已经提供本文的全部离线安装包在顶部资源,有需要的自行下载
1.安装jdk
前提说明:提供的离线包版本是jdk-8u251-linux-x64.tar,可以自行去网上下载。
解压jdk安装包:
tar -zxvf jdk-8u251-linux-x64.tar -C /usr/local
改名:
mv xxxx(解压后的名字) jdk1.8.0_251
配置环境变量:
vi /etc/profileexport JAVA_HOME=/usr/local/jdk1.8.0_251export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin
激活配置:
source /etc/profile
查看安装情况:
java -version
2. 安装mysql
前提说明:提供的离线包版本是mysql-5.7.37-linux-glibc2.12-x86_64.tar,可以自行去网上下载。
卸载自带的数据库
rpm -qa | grep mariadb
如果存在就卸载
rpm -e --nodeps [mariadb名称]
Selinux的状态禁用
查看状态:
getenforce
如果是enforcing ,则进行修改
vi /etc/selinux/config# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled # 修改的地方
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
先检查mysql用户和用户组有没有被使用
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
添加mysql用户组
groupadd mysql
添加mysql用户并加入用户组
useradd -g mysql mysql
解压mysql离线包:
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar -C /usr/local
改名:
mv xxxx(解压后的名字) mysq5.7
给用户授权
cd /usr/local/chown -R mysql mysql5.7/chgrp -R mysql mysql5.7/cd mysql5.7/mkdir datachown -R mysql:mysql data
配置文件:
配置mysql文件夹
创建 /var/lib/mysql/
cd /var/lib/mkdir mysql
提供读写的权限
chmod 777 /var/lib/mysql
配置mysql环境变量:
修改配置文件/etc/profile,增加
vi /etc/profile
# 文件最后一行增加
export PATH=$PATH:/usr/local/mysql5.7/bin
配置生效
source /etc/profile
配置my.cnf:
vi /etc/my.cnf
[mysql]socket=/var/lib/mysql/mysql.sock
default-character-set=utf8
[mysqld]
socket=/var/lib/mysql/mysql.sock
port=3306
basedir=/usr/local/mysql5.7 # mysql安装目录
datadir=/usr/local/mysql5.7/data # 数据目录
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysql.server]
user=mysql
basedir=/usr/local/mysql5.7 # mysql安装目录
安装数据库
cd /usr/local/mysql5.7/
mysqld --initialize --user=mysql --basedir=/usr/local/mysql5.7 --datadir=/usr/local/mysql5.7/data
图片标红的为服务临时生成的密码,要保存好
启动mysql服务
每次安装myql服务后,要找到support-files文件夹,里面存放mysql服务启动脚本
进入 /usr/local/mysql5.7/support-files
执行 ./mysql.server start
启动
建立软连接(即window的快捷方式,如果上面的方式可以直接启动,不需要软链接也行)
ln -s /usr/local/mysql5.7/support-files/mysql.server /etc/init.d/mysql
快捷方式启动
/etc/init.d/mysqld restart # 软链接启动
/etc/init.d/mysql restart # 直接启动
设置mysql为一个服务:
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接
–add : 加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。服务脚本必须存放在/etc/ini.d/目录下
进入/etc/init.d
chkconfig --add mysql
重新载入服务
systectl daemon-reload
systemctl restart mysql
安装后设置权限
登录MySQL,输入前面初始化服务的密码
mysql -uroot -p
执行语句如下
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;
操作结束后,通过exit命令退出,然后重新登录,验证修改的密码是否生效
# 开通防火墙,放开对3306的拦截
firewalld-cmd --zone=public --add-port=3306/tcp --permanent
删除安装的mysql服务的命令,如果安装失败
/etc/init.d/mysqld stoprm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/local/mysql5.7
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/bin/mysql
rm -rf /etc/logrotate.d/mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /etc/my.cnf
3. 安装redis并启动
前提说明:提供的离线包版本是redis-5.0.7.tar.gz,可以自行去网上下载。注意安装redis前,需要提前下载相关库依赖,并安装。
在centos服务器上,进入redis安装依赖目录,安装redis依赖
tar -zxvf redis安装依赖.tar
cd redis安装依赖
rpm -ivh *.rpm --nodeps --force
解压redis,进去解压后的目录
tar -zxvf redis-5.0.7.tar.gz
cd redis-5.0.7
make MALLOC=libc
执行安装
cd src
设置安装目录/usr/local/redis
make install PREFIX=/usr/local/redis
redis.conf是从redis离线包的conf下拷贝到redis的安装目录下
修改redis.conf运行方式为后台(可省略):
# 将 no 改为 yes
daemonize yes
运行:
./redis-server redis.conf
额外,设置redis为系统服务:
vi /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis.service
After=network.target[Service]
Type=forking
# 根据实际路径修改
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown[Install]
WantedBy=multi-user.target
重新加载服务,并重启(前面需要把redis的配置设置后台启动,否则服务会卡住)
systemctl daemon-reload
systemctl restart redis
4. 安装nginx,并配置前端代理
前提说明:提供的离线包版本是nginx-1.26.2.tar.gz,可以自行去网上下载。注意安装nginx前,需要提前下载相关库依赖,并安装。
在centos服务器上,进入nginx安装依赖目录,安装redis依赖
解压nginx依赖包,进去解压后文件夹执行:
tar -zxvf nginx依赖.tar
cd nginx依赖
rpm -Uvh ./*.rpm --nodeps --force
解压nginx安装:
tar -zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2/
./configure --prefix=/usr/local/nginx #直接指定安装目录
make && make install
检查并启动
cd /usr/local/nginx/sbin/
配置nginx.conf
location / {root /data/myApp/biTools;index index.html index.htm;try_files $uri $uri/ /index.html;}location /permission-api/{proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:18888/permission-api/;proxy_connect_timeout 6000s;proxy_read_timeout 6000s;proxy_send_timeout 6000s;}
启动:
./nginx -c /usr/local/nginx/conf/nginx.conf
查看
ps -ef | grep nginx
开发80端口并重启:
firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl restart firewalld
额外,设置nginx为系统服务
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx.service
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载服务,并启动
systemctl daemon-reload
systemctl restart nginx
5.配置防火墙
前提说明:只允许特定ip访问服务器
添加允许规则前,先设置默认拒绝所有入站连接
firewall-cmd --permanent --set-target=DROP
# 允许 192.168.1.10 访问
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.10" accept'
允许 192.168.1.50 访问
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.50" accept'
重新加载服务
firewall-cmd --reload
查看规则
firewall-cmd --list-all
说明:
防火墙配置好之后,只有10,50结尾的ip可以访问,其他ip都不允许访问。