精华内容
下载资源
问答
  • #查看yum源列表 yum repolist #当yum服务器内容修改了之后或者修改了yum源文件,客户机需要重新建立缓存 #baseurl指向仓库(repodata)所在的目录   转载于:...

     

    1、首先关闭防护墙或者设置规则通过且关闭selinux

    停止firewall

    systemctl stop firewalld

    禁止firewall开机启动

    systemctl disable firewalld

    或设置firewall规则

    firewall-cmd --permanent --zone=public --add-service=http
    firewall-cmd --reload

    修改SELINUX=enforce行为SELINUX=disabled

    sed -i 's/SELINUX=setenforce 0/SELINUX=disabled/' /etc/sysconfig/selinux

     

    2、nginx-1.14.2版本(编译安装)-自定义安装路径

    安装路径:/usr/local/nginx

    1.前期准备

    安装编译需要的gcc和gcc-c++

    yum install -y gcc gcc-c++

    安装nginx依赖pcre-devel、openssl-devel、zlib-devel

    yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel

    下载nginx源码包并解压到当前目录

    wget http://nginx.org/download/nginx-1.14.2.tar.gz
    tar zxvf nginx-1.14.2.tar.gz

    2.nginx编译安装

    生成Makefile文件

    cd nginx-1.14.2
    ./configure --user=nginx \
    --group=nginx \
    --prefix=/usr/local/nginx/ \
    --with-http_v2_module \
    --with-http_ssl_module \
    --with-http_sub_module \
    --with-http_stub_status_module \
    --with-http_gzip_static_module \
    --with-pcre

    编译源代码并安装

    make && make install

    3.后期结尾

    创建用户

    useradd nginx

    添加环境变量,创建nginx命令软链接到环境变量

    ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

    4.配置nginx开启php支持(仅参考)

    在server段中开启php支持

    找到如下内容,删除注释字符,并将倒数第二行的 /scripts 替换为 $document_root

    修改前

    #location ~ \.php$ {

    #    root           html;

    #    fastcgi_pass   127.0.0.1:9000;

    #    fastcgi_index  index.php;

    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

    #    include        fastcgi_params;

    #}

    修改后

    location ~ \.php$ {

    root           html;

    fastcgi_pass   127.0.0.1:9000;

    fastcgi_index  index.php;

    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

    include        fastcgi_params;

    }

    该段代码在server中的位置:

    server {

        listen       80;

        server_name  localhost;

        location / {

            root   html;

            index  index.php index.html index.htm;

        }

        location ~ \.php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }

    }

    注意:location ~ \.php$ {}块中root的值和location / {}块中root的值需要一致

     

    3、开启nginx目录浏览

    vim /usr/local/nginx/conf/nginx.conf

    添加如下内容:

    location / {  
            root /usr/local/nginx/html/pack/    //指定实际目录绝对路径;
            autoindex on;                       //开启目录浏览功能;
            autoindex_exact_size off;           //关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
            autoindex_localtime on;             //开启以服务器本地时区显示文件修改日期!
    }

    还有一个问题是这里开启的是全局的目录浏览功能,那么如何实现具体目录浏览功能呢?(仅参考)

    2. 只打开网站部分目录浏览功能

    只打开http://www.******.com/soft 目录浏览

    vi  /usr/local/nginx/conf/nginx.conf   #编辑配置文件,在server {下面添加以下内容:

    location   /soft {

    autoindex on;

    autoindex_exact_size off;

    autoindex_localtime on;

    }

    :wq!  #保存,退出

     

    4、创建目录

    在web根目录下创建centosplus、extras、updates、os四个目录

    mkdir centosplus extras updates os

    #这四个目录用来区分类型(仅参考)

    for DIR in $(ls); do cd $DIR; mkdir Packages; cd ..; done

    #分别在四个目录下创建存储rpm包的目录

     

    5、利用rsync同步至本地

    rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/ /usr/local/nginx/html/pack/centos/6/os/x86_64/Packages/
    rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64/Packages/ /usr/local/nginx/html/pack/centos/6/extras/x86_64/Packages/
    rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/Packages/ /usr/local/nginx/html/pack/centos/6/updates/x86_64/Packages/
    rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/6/centosplus/x86_64/Packages/ /usr/local/nginx/html/pack/centos/6/centosplus/x86_64/Packages/
    rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/ /usr/local/nginx/html/pack/centos/7/os/x86_64/Packages/
    rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/Packages/ /usr/local/nginx/html/pack/centos/7/extras/x86_64/Packages/
    rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/Packages/ /usr/local/nginx/html/pack/centos/7/updates/x86_64/Packages/
    rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/centosplus/x86_64/Packages/ /usr/local/nginx/html/pack/centos/7/centosplus/x86_64/Packages/

    或者同步全部数据(数据量较大不推荐,大小约136G)

    rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/ /usr/local/nginx/html/pack/centos/

    提供几个支持rsync同步的网站

    mirrors.tuna.tsinghua.edu.cn

    mirrors.ustc.edu.cn

    mirrors.kernel.org

    mirrors.neusoft.edu.cn

     

    6、创建仓库

    对三个目录使用createrepo创建仓库(生成repodata目录),供client端检索使用

    yum install -y createrepo
    createrepo /usr/local/nginx/html/pack/centos/6/os/x86_64/
    createrepo /usr/local/nginx/html/pack/centos/6/extras/x86_64/
    createrepo /usr/local/nginx/html/pack/centos/6/updates/x86_64/
    createrepo /usr/local/nginx/html/pack/centos/6/centosplus/x86_64/
    createrepo /usr/local/nginx/html/pack/centos/7/os/x86_64/
    createrepo /usr/local/nginx/html/pack/centos/7/extras/x86_64/
    createrepo /usr/local/nginx/html/pack/centos/7/updates/x86_64/
    createrepo /usr/local/nginx/html/pack/centos/7/centosplus/x86_64/

    #-o 指定repodata生成的目录

    此时yum服务器已经搭建完成

     

    7、创建计划任务

    vim /etc/crontab

    添加以下内容:

    0  5  *  *  1 root       rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/ /usr/local/nginx/html/pack/centos/ >/dev/null 2>&1  #每周一5点执行同步命令

     同步完成后需要更新仓库

    createrepo --update /usr/local/nginx/html/pack/centos/6/os/x86_64/
    createrepo --update /usr/local/nginx/html/pack/centos/6/extras/x86_64/
    createrepo --update /usr/local/nginx/html/pack/centos/6/updates/x86_64/
    createrepo --update /usr/local/nginx/html/pack/centos/6/centosplus/x86_64/
    createrepo --update /usr/local/nginx/html/pack/centos/7/os/x86_64/
    createrepo --update /usr/local/nginx/html/pack/centos/7/extras/x86_64/
    createrepo --update /usr/local/nginx/html/pack/centos/7/updates/x86_64/
    createrepo --update /usr/local/nginx/html/pack/centos/7/centosplus/x86_64/

     

     

    8、客户端配置

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    cat >> /etc/yum.repos.d/CentOS-Base.repo << eof
    [base]
    name=CentOS-$releasever - Base
    baseurl=http://mirrors.yryun.com/centos/$releasever/os/$basearch/
    enabled=1
    gpgcheck=0
    
    #released updates
    [updates]
    name=CentOS-$releasever - Updates
    baseurl=http://mirrors.yryun.com/centos/$releasever/updates/$basearch/
    enabled=1
    gpgcheck=0
    
    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras
    baseurl=http://mirrors.yryun.com/centos/$releasever/extras/$basearch/
    enabled=1
    gpgcheck=0
    
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    baseurl=http://mirrors.yryun.com/centos/$releasever/centosplus/$basearch/
    enabled=1
    gpgcheck=0
    
    eof

    #清除所有缓存

    yum clean all

    #建立缓存

    yum makecache

    #查看yum源列表

    yum repolist

    #当yum服务器内容修改了之后或者修改了yum源文件,客户机需要重新建立缓存

    #baseurl指向仓库(repodata)所在的目录

     

    转载于:https://www.cnblogs.com/omgasw/p/10194698.html

    展开全文
  • yum相关 #清理无用源 yum clean all #查看列表中是否存在 yum repolist #实际安装一个软件试试看,比如httpd yum install httpd 三、使用其他机器访问该yum源 在其他机器下home目录下,创建getrepo.sh,执行即可 ...

    一、 从本地ISO文件中安装软件

    1.挂载ISO文件
    $ mount -o loop -t iso9660 /mnt/cd-rom/*.iso(替换成你上传的iso文件) /mnt/cdrom
    mount: /dev/loop0 is write-protected, mounting read-only

    *.iso为需挂载的ISO文件,/mnt/cdrom为挂载位置(若目录不存在,需先以mkdir dirname命令生成)

    2.备份原始repo文件

    $ cd /etc/yum.repos.d //进入repo目录

    $ mkdir repoback //新建备份目录

    $ mv C*.repo repoback //将原始repo文件移动至备份目录

    3.新建repo文件

    $ vi CentOS-ISO.repo

    ##以下为repo文件内容(文件不包含注释)
    [base]
    name=iso
    baseurl=file:///mnt/cdrom    //ISO文件挂载目录
    gpgcheck=0                        //由于是本地源,不需要检查 enable=1
    

    二、架设源服务器

    1.安装nginx(过程略)

    2.修改nginx配置

    $ vi nginx.conf

    在nginx.conf中增加以下内容:

        server {
            listen       8082;    #  修改要监听的端口
            server_name  localhost;
            location / {
    			autoindex  on;        # 打开目录浏览
                root   /mnt/cdrom/;       # 这里请换成你的实际目录路径
                index  index.html index.htm;
            }
        }
    

    3.启动nginx

    $ cd /usr/local/nginx/sbin
    $ ./nginx # 启动nginx

    4.创建 CentOS.repo文件

    $ cd /etc/yum.repo.d
    $ vi CentOS.repo

    # 添加以下内容:
    [base]
    name=iso
    baseurl=file:///mnt/cdrom
    gpgcheck=0
    enable=1
    

    :wq # 保存后,将其他repo文件中的 enable改为0
    5. yum相关
    #清理无用源
    yum clean all
    #查看列表中是否存在
    yum repolist
    #实际安装一个软件试试看,比如httpd
    yum install httpd

    三、使用其他机器访问该yum源

    在其他机器下home目录下,创建getrepo.sh,执行即可
    getrepo.sh 内容如下:

    #!bin/bash
    
    cd /etc/yum.repos.d
    pwd
    
    filename="CentOS.repo"
    if [ -e $filename ]
    then rm -rf $filename
    fi
    
    dir="./repoback"
    if [ -e $dir ]
    then echo "the $dir exits"
    else mkdir $dir
    fi
    
    mv C*.repo  $dir
    
    touch $filename
    echo "
    [base]
    name=iso
    baseurl=http://10.1.56.22:8082/  #   私有源服务器地址及端口
    gpgcheck=0
    enable=1
    " > $filename 
    
    yum clean all
    yum makecache
    
    展开全文
  • 在CentOS7下,yum源的文件全部保存在以下目录: /etc/yum.repos.d  随便找一个文件,发现里面的内容类似: [cloudera-cdh5] # Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or...

        在离线环境安装Linux软件,遇到依赖特别多的软件的时候,几乎没法安装,一直寻找一个方便、有效的方式解决这个问题,不要局限,不要繁琐(文件式的本地源就比较局限,其实此文和文件式原理一样),这篇文章所写的方式,暂时是我发现最简便有效的方式,此方式同样适用于zypper、apt源。如果你在安装软件的时候和我有同样的苦恼,希望此方法能够帮到你。

        首先,我们需要了解以下yum源的原理。在CentOS7下,yum源的文件全部保存在以下目录:

    /etc/yum.repos.d

        随便找一个文件,发现里面的内容类似:

    [cloudera-cdh5]
    # Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat	or CentOS 7 x86_64
    name=Cloudera's Distribution for Hadoop, Version 5
    baseurl=https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5/
    gpgkey =https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/RPM-GPG-KEY-cloudera    
    gpgcheck = 1

        有效的内容其实就key-value键值对内容。

    name=名称,可以随意填写
    baseurl=一个url路径
    gpgkey = gpg密钥的地址
    gpgcheck = 是否检查,如果0表示不检查,1表示检查

        说白了,我们需要搭建一个http服务。考虑到我的网络环境,我将服务搭建在我Win10母机上面,这样我所有虚拟机就都能访问了。局域网其他电脑同样能够访问。

        第一步:下载CentOS的Everything镜像(很大,10GB左右,毕竟包含了太多rpm包,但当你使用后,你会发现一切都是值得的)。

    http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1804.iso

       第二步:加载文件

       如果你硬盘足够多,将iso文件解压到特定目录,如果你剩余硬盘空间并不多,那么推荐你直接右键->装载(Win10系统特有),如下:

    0a73275c07203b468741ae20bf2cae1d040.jpg

    27f1dfe9f8573391024a46933bbd615c4cc.jpg

      第三步:安装nginx(Windows下)

    http://nginx.org/en/download.html

      第四步:编辑nginx配置文件(本人用的是1.13.6版)

    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;
            location / {
    			autoindex  on;
                root   J:/;(这里请换成你的实际目录路径)
                index  index.html index.htm;
            }
        }
    }

        第五步:启动nginx

        一切搞定后,双击nginx启动服务,然后访问:http://127.0.0.1

    99830ef580b6944f7a6b19b8c6f3989c763.jpg

    第六步:创建yum repo文件

    [root@node1 ~]# vim /etc/yum.repos.d/local.repo
    [local]
    name=local
    #在虚拟机网络环境中,母机地址是这个
    baseurl=http://192.168.100.1
    #是否可用,1表示可用,0表示不可用
    enabled=1
    gpgcheck=1
    gpgkey=http://192.168.100.1/RPM-GPG-KEY-CentOS-7
    

    第七步:禁用其他repo文件

    编辑其他repo文件,将enabled设置为0

    ……
    enabled=0
    ……

    第七步:yum相关

    #清理无用源
    yum clean all
    #查看列表中是否存在
    yum repolist
    #实际安装一个软件试试看,比如httpd
    yum install httpd

    总结:因为本地源(严格说应该是本地http源),所以速度非常快,体验还是很不错的。同样既然nginx可以,那么httpd自然也可以。既然Windows可以搭建,那么Linux自然也可以搭建。其实原理很简单,理解其中的原理后,自由变通即可。

    转载于:https://my.oschina.net/vright/blog/1858836

    展开全文
  • Centos 7 利用nginx搭建本地yum源

    千次阅读 2021-02-26 14:22:07
    yum源增加rpm包 5.1 安装createrepo yum install createrepo -y 5.2 下载指定rpm包到指定目录下(以mariadb-server为例) yum install mariadb-server --downloadonly --downloaddir=/media/CentOS7/Packages/ 5.3 ...

    1. 实验环境

    服务器 IP地址
    服务端 图形化安装 192.168.153.160
    客户端 最小化安装 192.168.153.180

    服务端和客户端均关闭防火墙和selinux

    systemctl stop firewalld
    
    setenforce 0
    

    2. 服务端配置

    2.1 创建工作目录

    mkdir -p /media/CentOS7
    

    2.2 挂载镜像文件

    mount /dev/sr0 /mnt
    

    查看挂载结果
    在这里插入图片描述

    2.3 复制文件并修改权限

    cp -r /mnt/* /media/CentOS7
    
    chmod -R 777 /media/CentOS7
    

    2.4 修改CentOS-Media.repo文件

    说明

    CentOS-Base.repo 是yum 网络源的配置文件

    CentOS-Media.repo 是yum 本地源的配置文件

    修改CentOS-Media.repo

    vim /etc/yum.repos.d/CentOS-Media.repo
    

    修改之后内容如下:

    [c7-media]
    name=CentOS-$releasever - Media
    baseurl=file:///media/CentOS7/
    gpgcheck=0
    enabled=1
    gpgkey=file:///media/CentOS7/RPM-GPG-KEY-CentOS-7
    

    2.5 禁用默认的yum 网络源

    vim /etc/yum.repos.d/CentOS-Base.repo
    

    将enabled参数设为0

    enabled=0
    

    2.6 清空yum缓存目录

    yum clean all
    

    2.7 建立yum数据缓存

    yum makecache
    

    2.8 查看本机yum repo 仓库

    [root@host-160 ~]# yum repolist
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    repo id                                              repo name                                                     status
    c7-media                                             CentOS-7 - Media                                              9,911
    repolist: 9,911
    

    3. 服务端基于nginx方式配置yum发布源

    3.1 源码安装nginx

    参考文档:https://blog.csdn.net/m0_46674735/article/details/109709606

    3.2 修改nginx配置文件

    vim /usr/local/nginx/conf/nginx.conf
    

    43行到47行内容修改如下

     43         location / {
     44             autoindex  on;
     45             root   /media/CentOS7;
     46             index  index.html index.htm;
     47         }
    

    3.3 开启nginx服务

    /usr/local/nginx/sbin/nginx
    

    3.4 浏览器输入服务端ip 192.168.153.160 访问,结果如图

    在这里插入图片描述

    4. 客户端配置本地yum源(http方式)

    4.1 将系统自带的repo文件移动到bak目录下

    cd /etc/yum.repos.d/
    
    mkdir bak
    
    mv *.repo bak
    

    4.2 编辑local.repo文件

    vim local.repo
    

    local.repo文件内容如下

    [local]
    name=local
    baseurl=http://192.168.153.160
    gpgcheck=0
    enabled=1
    

    4.3 清空yum缓存目录

    yum clean all
    

    4.4 建立yum数据缓存

    yum makecache
    

    4.5 查看本机yum repo 仓库

    [root@host-180 yum.repos.d]# yum repolist
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    repo id                                                        repo name                                                    status
    local                                                          local                                                        9,911
    repolist: 9,911
    

    4.6 安装httpd测试

    yum -y install httpd
    

    安装成功
    在这里插入图片描述

    4.7 安装mysql测试

    yum -y install mariadb-server
    

    出现如图报错
    在这里插入图片描述
    查询本机安装的mariadb组件

    [root@host-180 yum.repos.d]# rpm -qa|grep mariadb
    mariadb-libs-5.5.64-1.el7.x86_64
    

    使用以下命令卸载

    rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
    

    再次安装mysql即可

    yum -y install mariadb-server
    

    安装成功!!!
    在这里插入图片描述

    5. yum源增加rpm包

    5.1 安装createrepo

    yum install createrepo -y
    

    5.2 下载指定rpm包到指定目录下(以mariadb-server为例)

    yum install mariadb-server --downloadonly --downloaddir=/media/CentOS7/Packages/
    

    5.3 更新(每加入一个rpm包就要更新一下)

    createrepo --update /media/CentOS7/Packages/  
    

    5.4 重新建立yum缓存

    服务端和客户端都要做下面的操作:

    yum clean all 
    
    
    yum makecache 
    

    参考大佬博客:

    https://blog.csdn.net/zhangshaohuas/article/details/109777538

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 667
精华内容 266
关键字:

nginx搭建yum源