Centos7 Nginx搭建局域网yum仓库详细步骤

240人浏览   2023-10-23 15:38:59

配置本地yum源

需要工具软件UltraISO,MobaXterm

1、规范目录结构环境,在服务器上创建放置镜像的文件夹

[root@yum ~]# mkdir /mirror/repo/centos/x86_64/7/packages –p

2、在服务器上安装本地yum源,为安装nginx的依赖包等软件,创建centos7.repo文件

[root@yum yum.repos.d]# vi centos7.repo

配置如下:

[centos7]

name=centos7

baseurl=file:///mirror/repo/centos/x86_64/7/packages/CentOS-7-x86_64-Everything-1908/

enabled=1

gpgcheck=0


[extras]

name=CentOS-$releasever - Extras

baseurl=http://192.168.2.210:88/extras/$basearch/

gpgcheck=1

gpgkey=0

服务器IP地址为192.168.2.210,端口为88.其中标识[centos7]放置基础镜像,标识[extras]放置扩展镜像,$releasever是获得系统的主版本,这里可以获得到的系统主版本是7。

3、UltraISO工具解压镜像包

在windows下用下载的iso镜像,这里截图是
CentOS-7-x86_64-Everything-1511的iso文件(应该是
CentOS-7-x86_64-Everything-1908.iso,我这里没有截到图,呜呜,只能拿这个截图代替了,因为这个要对应centos7.repo中的baseurl中的路径),可以根据具体情况在centos的官网下载需要的镜像。

3.1提取iso内容,UltraISO文件--打开—选择需要解压的iso文件


再点击操作---提取



选择一个新建立的文件夹,命名为需要提取的文件,选择是


文件正在提取,会显示进度,完成比例,


3.2在服务器上建立文件夹

mkdir /mirror/repo/centos/x86_64/7/packages/CentOS-7-x86_64-Everything-1908 –p

用MobaXterm工具的SFTP传输解压文件到
CentOS-7-x86_64-Everything-1908目录中

或者不用建立
CentOS-7-x86_64-Everything-1908文件夹,直接传输文件夹及内容。


3.3上传完毕后,在服务器上执行以下命令

[root@yum packages]# yum clean all

[root@yum packages]# yum makecache


此时本地yum仓库配置完毕,如果提示报错,可以先把centos7.repo中的

#[extras]

#name=CentOS-$releasever - Extras

#baseurl=http://192.168.2.210:88/extras/$basearch/

#gpgcheck=1

#gpgkey=0

部分用#注释掉,在执行yum clean all和yum make cache命令,因为我们以后创建扩展仓库,这里可能会有影响。


4、安装搭建yum仓库工具包并使用


[root@yum ~]# yum install createrepo



createrepo –pdo
/mirror/repo//centos/x86_64
/mirror/repo//centos/x86_64 #创建目录递归样式的索引(这个目录在浏览器中不显示,取而代之的是浏览器地址包括端口)


-p,--pretty

确认执行命令会生成一个索引文件并定义默认格式

-d –database

创建索引文件相关数据文件信息

-o outputdir

将数据保存到指定目录中

5、部署yum仓库地址访问环境和安装nginx

5.1安装nginx依赖包

[root@yum /]# yum -y install gcc pcre-devel openssl-devel



5.2安装nginx

从nginx的官网下载nginx的安装包,用tar -zxvf nginx-1.12.2.tar.gz解压。

进入nginx目录


执行安装

[root@yum nginx-1.12.2]# ./configure && make && make install


进入sbin目录

[root@yum nginx-1.12.2]# cd /usr/local/nginx/sbin/


启动nginx服务

[root@yum sbin]# ./nginx



5.3验证,查看nginx服务的启动

[root@yum sbin]# ps -ef | grep nginx


5.4关闭防火墙

[root@yum sbin]# systemctl status firewalld


5.5关闭selinux

[root@yum sbin]# vi /etc/selinux/config

5.6在浏览器输入实验机的IP地址

192.168.2.210,显示Welcome to nginx!画面,安装成功,如果不显示,可以重新启动这台主机。


5.7每次执行nginx,启动服务,比较繁琐,把nginx配置为开机自动启动,并且注册为系统服务。

5.7.1切换到/lib/systemd/system/目录,

cd /lib/systemd/system/

5.7.2创建nginx.service文件


vi nginx.service

[Unit]

Description=nginx

After=network.target


[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usrlocal/nginx/sbin/nginx reload

ExecStop=/usr/local/nginx/sbin/nginx quit

PrivateTmp=true


[Install]

WantedBy=multi-user.target

用esc键,shift+gg保存并退出

执行

5.7.3设置开机自动启动

[root@localhost system]# systemctl enable nginx.service



6、初始化repodata的索引文件

首次初始化,必须要指定索引位置

createrepo –pdo /mirror/repo/centos/x86_64 /mirror/repo/centos/x86_64/



[root@yum conf]# vi nginx.conf


6.1创建仓库

建立仓库的时候,目录必须存在,内容也上传完毕,否则会报以下错误。

createrepo /mirror/repo/centos/x86_64/7/packages/CentOS-7-x86_64-Everything-1908

如果报错,重新创建目录即可。

mkdir /mirror/repo/centos/x86_64/7/packages/CentOS-7-x86_64-Everything-1908

createrepo /mirror/repo/centos/x86_64/7/packages/CentOS-7-x86_64-Everything-1908


6.2更新仓库

如果以后文件内容有更新,需要更新仓库,用命令createrepo –update

比如:

createrepo –update /mirror/repo/centos/x86_64/7/packages/CentOS-7-x86_64-Everything-1708



此时在浏览器中输入192.168.2.210:88,可以看到如下内容



目前局域网yum源的基础包完成。


7、用同样的方法建立扩展包目录extras和文件,我是放置docker-ce的rpm文件在里面,注意这个目录里主要放置rpm包

其他软件另外设置目录和extras为同一级目录,可以用wget命令进行下载。



此时,/etc/yum.repos.d/下面的centos7.repo配置文件为


8、客户端配置yum源。

在/etc/yum.repos.d的路径下建立一个repo文件

vi centos7.repo

内容如下:


[centos7]

name=centos7

baseurl=http://192.168.2.210:88/7/packages/CentOS-7-x86_64-Everything-1908/

enabled=1

gpgcheck=0


[extras]

name=CentOS-$releasever - Extras

baseurl=http://192.168.2.210:88/extras/

gpgcheck=0



再执行yum clean all 和yum makecache


到此局域网yum源配置完成。

9、为了安装快速,方便,可以在客户端执行以下脚本,生成repo文件,不用再进行配置。


#!/bin/bash

cd /etc/yum.repos.d/

mkdir repobackup

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repobackup/


echo "

[centos7]

name=centos7

baseurl=http://192.168.2.210:88/7/packages/CentOS-7-x86_64-Everything-1708/

enabled=1

gpgcheck=0 " > /etc/yum.repos.d/centos7.repo

yum clean all

yum makecache

yum repolist

相关推荐