这是我记录的基本成熟的CentOS 7.9环境的步骤,这是一个系列文章,目前没有规划,写到哪算哪,但肯定每一篇都是一个完整的过程。
本文囊括了:
一、基础工具
1、配置网卡
vi /etc/sysconfig/network-scripts/ifcfg-eno1
此处 ifcfg-eno1 则是你的网卡名称。
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp6s0
UUID=1d4d2aec-3b66-42c2-93a7-d80cfcb0f433
DEVICE=enp6s0
ONBOOT=yes
IPADDR=xxx.xxx.xxx.xxx
NETMASK=xxx.xxx.xxx.xxx
GATEWAY=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx
BOOTPROTO=static
这个要把dhcp改成static。
如果只要ipv4的,将所有ipv6的设置成no
IPADDR=你的公网IP
NETMASK=你公网IP对应的子网掩码
GATEWAY=你的网关
DNS1=你公网IP所对应的DNS
DNS2=如果有的话
其他基本不用动。
2、更新并安装基础工具
# 此处普及一下 update 和 upgrade 的区别
# yum -y update:升级所有包同时也升级软件和系统内核
# yum -y upgrade:只升级所有包,不升级软件和系统内核
yum update && yum install wget \
vim net-tools nmap lrzsz unzip zip \
gcc gcc-c++ automake autoconf pcre-devel \
zlib zlib-devel openssl openssl-devel -y
想知道具体对应功能的,自己百度一下吧。 反正有了这些基本操作也就够了。但是类似于服务器面板、监控一类的,我这个基础工具里是不包括的。
二、配置防火墙
1、停止防火墙,取消防火墙自启动,
systemctl stop firewalld.service && systemctl disable firewalld.service
2、开启防火墙,设置自启动
systemctl start firewalld.service && systemctl enable firewalld.service
3、防火墙基础命令
启动
systemctl start firewalld
查看状态
systemctl status firewalld
停止
systemctl disable firewalld
禁用
systemctl stop firewalld
启动一个服务
systemctl start firewalld.service
关闭一个服务
systemctl stop firewalld.service
重启一个服务
systemctl restart firewalld.service
显示一个服务的状态
systemctl status firewalld.service
在开机时启用一个服务
systemctl enable firewalld.service
在开机时禁用一个服务
systemctl disable firewalld.service
查看服务是否开机启动
systemctl is-enabled firewalld.service
查看已启动的服务列表
systemctl list-unit-files|grep enabled
查看启动失败的服务列表
systemctl --failed
4、配置firewalld-cmd
查看版本
firewall-cmd --version
查看帮助
firewall-cmd --help
显示状态
firewall-cmd --state
查看所有打开的端口
firewall-cmd --zone=public --list-ports
重启防火墙
firewall-cmd --reload
5、开启项目端口
// --permanent永久生效,没有此参数重启后失效
// SSH
firewall-cmd --zone=public --add-port=22/tcp --permanent
// Nginx
firewall-cmd --zone=public --add-port=80/tcp --permanent
// HTTPS
firewall-cmd --zone=public --add-port=443/tcp --permanent
// MySQL
firewall-cmd --zone=public --add-port=3306/tcp --permanent
// Redis
firewall-cmd --zone=public --add-port=6379/tcp --permanent
// Tomcat
firewall-cmd --zone=public --add-port=8000-9999/tcp --permanent
此处操作过防火墙后,一定谨记需要重启防火墙:
firewall-cmd --reload
三、Nginx安装
# 1、gcc安装 事实上,上面基础工具已经安装了,我这个地方只是为了完整的再把需要的工具罗列一次
yum install gcc pcre-devel zlib zlib-devel openssl openssl-devel -y
# 2、源码包下载,我这边把所有下载的工具包都放在/app目录下,所有工具包也可在文末的我的百度网盘中下载
cd / && mkdir app && cd app && wget http://nginx.org/download/nginx-1.10.2.tar.gz
# 3、解压缩
tar -zxvf nginx-1.10.2.tar.gz
# 4、编译安装 默认安装在 /usr/local/nginx
cd nginx-1.10.2 && ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install
# 5、配置防火墙
# 检查80端口是否开放
netstat -anp | grep 80
# 如果80端口没有开放,则开放80端口。 (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 6、常用命令
# 启动
/usr/local/nginx/sbin/nginx
# 重启
/usr/local/nginx/sbin/nginx -s reload
# 7、开机自启动
# 启动Nginx服务
systemctl start nginx.service
# 设置开机启动(如果是源码安装,则需要手动创建nginx.service)
systemctl enable nginx.service
# 8、手动创建nginx.service
cd /usr/lib/systemd/system
vi nginx.service
# ----------- 以下是nginx.service内容 -------------
[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
# ----------- 以上是nginx.service内容 -------------
# 按ESC键后,输入:wq保存并退出
:wq
# 9、启动Nginx服务
systemctl start nginx.service
# 10、设置开机启动
systemctl enable nginx.service
四、Java环境配置
# 1、进入app目录,下载JDK
cd /app
# 下载jdk8 下载链接有权限,随时需要重新登录获取链接,也可至文末我的百度网盘下载
wget https://download.oracle.com/otn/java/jdk/8u361-b09/0ae14417abb444ebb02b9815e2103550/jdk-8u361-linux-x64.tar.gz?AuthParam=1678173928_61fb7f897275908e08abc95315c20c2a
# 2、新建java目录,解压 并 安装至/usr/local/java/
mkdir /usr/local/java && tar -zxvf jdk-8u421-linux-x64.tar.gz -C /usr/local/java
# 3、进入安装目录
cd /usr/local/java/jdk1.8.0_421
# 4、获取jdk目录路劲,并复制
pwd
# 获取到路劲 /usr/local/java/jdk1.8.0_421
# 5、配置环境变量
vi /etc/profile
# 鼠标定位到最后,新起一行输入下面的内容
# ----------- 以下是配置文件内容 -------------
# JAVA ENV
export JAVA_HOME=/usr/local/java/jdk1.8.0_421
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
# ----------- 以上是配置文件内容 -------------
// 更新配置文件
source /etc/profile
// 检查是否成功
java -version
五、Redis安装配置
# 1、进入目录并下载
cd /app && wget http://download.redis.io/releases/redis-5.0.6.tar.gz
# 2、解压、安装
# 在/usr/local/目录下创建redis目录,并在/app文件夹下解压redis压缩包
mkdir /usr/local/redis/ && tar -xzvf redis-5.0.6.tar.gz
# 进入redis文件夹,并安装,安装前缀/usr/local/redis/(redis-server、redis-cli等文件在该目录下的bin目录,默认在/usr/local/bin目录下)
cd redis-5.0.6/ && make PREFIX=/usr/local/redis/ install
# 3、配置Redis,将redis配置文件拷贝到/usr/local/redis/bin目录下
cp /app/redis-5.0.6/redis.conf /usr/local/redis/bin
# 4、修改配置文件
# ------------ 以下为修改项 ------------
# 允许远程访问
bind 127.0.0.1 变更为 # bind 127.0.0.1
# 变更默认端口(如果你有需要)
port 6379
# 文件名端口和默认端口保持一致,方便通过服务方式启动、停止(比如设置开机启动)
pidfile /var/run/redis_6379.pid
# 密码,修改成你需要的密码,如果不需要设置密码,则保持注释即可
requirepass yourpwd
# 设置为后台运行,将no变更为yes
daemonize yes
# ------------ 以上为修改项 ------------
# 5、系统环境设置
# 在etc目录下创建redis目录
mkdir /etc/redis/
# 将配置文件拷贝至
cp /usr/local/redis/bin/redis.conf /etc/redis/6379.conf
# 6、将redis-5.0.6目录下utils下的启动脚本复制进/etc/init.d
cp /app/redis-5.0.6/utils/redis_init_script /etc/init.d/redis
# 修改/etc/init.d/redis
# ① 端口
# ② 设置redis-server、redis-cli的实际路劲
# 7、设置开机启动
chkconfig --add redis
# 8、启动Redis & 关闭Redis
systemctl start redis
systemctl stop redis
# 如果报错 you need tcl 8.5 or newer... 则下载tcl 一般都是执行make test会报这个错误
# 下载并安装,或者到文末我的百度网盘下载
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/tcl-8.5.13-8.el7.x86_64.rpm
rpm -ivh tcl-8.5.13-8.el7.x86_64.rpm
# 运行测试
make test
# 9、设置环境变量
vi /etc/profile
# ... 光标定位到最底部
# ------------ 以下为环境配置 ------------
# REDIS ENV
export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin
# ------------ 以上为环境配置 ------------
# 10、更新配置文件
source /etc/profile
# 11、测试服务是否成功
redis-server -p 6679
六、MySQL安装配置
# 1、检查是否安装了mysql,如已安装,使用yum remove 删除,例如: yum remove mysql80...
rpm -qa | grep -i mysql
# 2、查找是否存在mysql配置文件,如果有,使用 rm -rf 删除
find / -name mysql
# 3、去官网下载mysql,或者打开获取链接,使用wget下载,或者文末我的百度网盘下载
https://dev.mysql.com/downloads/repo/yum/
# /opt目录是给主机额外安装软件所使用的目录
# 本机新建了/app目录作为本机使用的软件目录
# 4、安装
rpm -ivh xxx.rpm
rpm -ivh 包全名
# 选项:
# -i(install) 安装
# -v(verbose) 显示详细信息
# -h(hash) 显示进度
# --nodeps 不检测依赖性
# 5、yum安装
yum -y install mysql-community-server
# 如果出现error,使用yum clean all // 清除仓库缓存
# 解决源 “MySQL 8.0 Community Server“ 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。(一般都是这个问题,执行下面的命令即可)
yum install mysql-server --nogpgcheck
# 6. 执行命令,--lower-case-table-names=1这个指的是不区分大小写
/usr/sbin/mysqld --initialize --user=mysql --lower-case-table-names=1
# 更改my.cnf文件
vi /etc/my.cnf
# 修改端口号(如果有需要的话)
[mysqld]
port=3306
# 添加一行(如果不需要区分大小写也无所谓这句话)
lower-case-table-names=1
# 7、启动、关闭、重启、开机启动、查看状态
systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld
systemctl enable mysqld
systemctl status mysqld
# 8、获取MySQL默认密码(复制xxxx,登录的时候要用到该密码)
grep "password" /var/log/mysqld.log
... for root@localhost: xxxx
# 9、登录、修改密码、允许远程登录、更新配置
mysql -uroot -pxxxx
mysql> alter user 'root'@'localhost' identified by 'yourpwd';
mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit
# 如果permission denied
sudo vi /etc/selinux/config
SELINUX=disabled
# 也可以临时设置
setenforce 0
七、Docker安装配置
docker安装只说明docker的安装,类似于Jenkins、GitLab、Nacos、Zentao等,会单独出一篇来讲解。
# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置 docker repo 的 yum 位置(添加软件源信息,使用阿里云的)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum缓存
yum makecache fast
# 安装 Docker
sudo yum -y install docker-ce-20.10.12-3.el7 docker-ce-cli-20.10.12-3.el7 containerd.io
# 启动Docker 并且加入随系统启动
sudo systemctl start docker
sudo systemctl enable docker
# 安装docker-compose(这个网速确实不稳定,也可以文末我的百度网盘下载)
sudo curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
# 赋权 docker-compose
chmod +x /usr/local/bin/docker-compose
# 解决国内镜像源失效的问题
#创建镜像源的存放文件夹
sudo mkdir -p /etc/docker
# 写入新的镜像源(2025年01月7日)此处我极其想引流至我另一篇讲了镜像源的文章
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
EOF
# 如果此处配置后,启动Docker失败,请检查最后一个源的末尾是否多打了一个逗号
# 更新配置
sudo systemctl daemon-reload
# 重启Docker服务
sudo systemctl restart docker
# 容器中的时间与宿主机时间不同步的问题
# 先查看宿主机的系统时间
date -R
# 进入ID为:2d2 的docker容器查看时间
docker exec -it -u root 2d2 bash
# 查看容器系统时间
date -R
# 查看容器内部系统时区
cat /etc/timezone (查看容器内部系统时区,显示的是Etc/UTC)
# 创建容器时间:
echo Asia/Shanghai >/etc/timezone
# 退出进入的容器
exit
# 将宿主日期复制到容器内部:
docker cp /usr/share/zoneinfo/Asia/Shanghai 2d2:/etc/localtime
# 重启ID为:2d2的容器
docker restart 2d2
通过网盘分享的文件:分享空间
链接: https://pan.baidu.com/s/1KjWGd3RF66GbNsXIVrW_1w?pwd=grg2 提取码: grg2
--来自百度网盘超级会员v9的分享
至此本篇幅结束,希望对大家能有所帮助。
可通过留言或加好友,留下问题。我会在线帮助,如果是共性问题,我也会整理出来方便后来的同学查阅。