本地yum源只有配置的该台服务器可以使用。需先将所使用的系统镜像文件上传至服务器,完整操作步骤:
mount -o loop /root/qinzs/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom
cd /etc/yum.repos.d #进入配置文件所在目录
mkdir repo.bak #创建原配置文件备份保存目录
mv *.repo ./repo.back #移动原配置文件至备份目录
vim local.repo #创建本地yum源配置,注意文件所在路径
[local-yum] #yum标识,名称自定义
name=CentOS7.9 #源名称,自定义
baseurl=file:///mnt/cdrom #ios镜像挂载路径
enabled=1 #使用该yum仓库
gpgcheck=0 #不进行gpg key校验
配置完成后保存退出local.repo
yum clean all
yum makecache
yum repolist #查看当前yum源可用资源数;repolist显示不为0说明本地yum源搭建成功
或
yum list #显示所有可安装的软件清单
--------------------------------最后yum安装验证即可----------------------------------
基于HTTP方式配置一个可供本机和局域网内其他主机访问的yum源。一般通过apache来搭建HTTP的yum源,本次使用Nginx搭建。
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
yum -y install pcre pcre-devel
yum -y install gcc gcc-c++ make libtool
#上面四行命令也可合并写作一行
useradd -s /sin/nologin nginx
mkdir /root/nginx #创建nginx安装目录,路径自定义
cd /root/qinzs/nginx-1.20.2 #nginx解压目录
./configure --prefix=/root/nginx --user=nginx --group=nginx --with-http_ssl_module #安装配置
make && make install #编译、安装
mkdir -p /root/nginx/nginx-yum
vim /root/nginx/conf/nginx.conf #编辑nginx配置文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;#访问端口,自定义,普通用户只能启动1024以上端口
server_name localhost;
location / {
autoindex on;
root /root/nginx/nginx-yum #yum仓库文件所在路径
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
#配置完成后保存退出,检查配置是否正确
/root/nginx/sbin/nginx -t
mkdir /mnt/iso #镜像文件临时挂载目录
mount -o loop /root/qinzs/CentOS-7-x86_64-DVD-2009.iso /mnt/iso #临时挂载镜像,重启电脑后失效
cd /mnt/iso
cp -rp * /root/nginx/nginx-yum #之前创建的局域网yum仓库文件所在路径
ls -l /root/nginx/nginx-yum
我在复制后发现一个问题,就是复制过去的Packages大小比镜像直接挂载生成的Packages小很多。如果担心包缺失的,可以直接以镜像挂载路径作为yum仓库文件路径。
#按如下路径创建编辑文件
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/root/nginx/sbin/nginx
ExecReload=/root/nginx/sbin/nginx -s reload
ExecStop=/root/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#编辑完成后保存退出
systemctl daemon-reload #重新加载服务配置文件,使上述nginx配置文件生效
*文件内容解释
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]:服务运行参数的设置
Type=forking 是后台运行的形式
ExecStart 服务的具体运行命令
ExecReload:重载命令
ExecStop:停止命令
PrivateTmp=true表示给服务分配独立的临时空间
启动、重载、停止命令均要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3*
nginx相关操作扩展内容
systemctl enable nginx.service #设置开机自启
systemctl disable nginx.service #取消开机自启
systemctl start nginx.service #启动nginx服务
systemctl stop nginx.sercice #停止nginx服务
systemctl restart nginx.service #重启nginx服务
systemctl reload nginx.service #重新读取nginx配置(不停止服务而使修改的配置生效)
systemctl status nginx.service #查看nginx服务当前状态
systemctl list-units --type=service #查看所有已启动的服务
#初始启动、停止、重载nginx命令:
./nginx -s stop #强制停止
./nginx -s quit #等待最后一次交互执行完毕后停止
./nginx -s reload #重载
./nginx -V #查看详细版本
./nginx -v #查看版本
./nginx -t #检查配置文件是否有误
#上述初始命令均需至安装路径/sbin/下操作
CentOS7常用命令合集
systemctl is-enabled servicename.service #查询服务是否开机启动
systemctl enable *.service #开机运行服务
systemctl disable *.service #取消开机运行
systemctl start *.service #启动服务
systemctl stop *.service #停止服务
systemctl restart *.service #重启服务
systemctl reload *.service #重新加载服务配置文件
systemctl status *.service #查询服务运行状态
systemctl --failed #显示启动失败的服务
systemctl start nginx.service
systemctl status nginx.service
netstat -ntlup
cd /etc/yum.repos.d/ #yum配置文件目录
mkdir repo.bak #创建备份目录
mv ./*.repo ./repo.bak #把所有原配置文件移入备份目录
vim nginx-yum.repo #创建局域网yum配置,按如下编辑保存
[Nginx-yum]
name=LAN-Nginx-yum
baseurl=http://10.206.19.12:80 #配置局域网yum源服务器的ip和nginx设置的端口
enabled=1
gpgcheck=0
#编辑完成后保存退出
yum clean all
yum makecache
cd /etc/yum.repos.d/ #yum配置文件目录
mkdir repo.bak #创建备份目录
mv ./*.repo ./repo.bak #把所有原配置文件移入备份目录
vim VLN-nginx-yum.repo #创建局域网yum配置,按如下编辑保存
[client]
name=CentOS7.9
baseurl=http://10.206.19.12:80 #配置局域网yum源服务器的ip和nginx设置的端口
enabled=1
gpgcheck=0
#编辑完成后保存退出
yum clean all
yum makecache
#在局域网客户机机上测试
yum repolist
yum list
或通过局域网电脑浏览器输入IP:端口访问测试
---------------------------E--------N--------D--------------------------------------------------