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..tar.gz

2.nginx编译安装

生成Makefile文件

cd nginx-1.14.
./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//os/x86_64/
createrepo /usr/local/nginx/html/pack/centos//extras/x86_64/
createrepo /usr/local/nginx/html/pack/centos//updates/x86_64/
createrepo /usr/local/nginx/html/pack/centos//centosplus/x86_64/
createrepo /usr/local/nginx/html/pack/centos//os/x86_64/
createrepo /usr/local/nginx/html/pack/centos//extras/x86_64/
createrepo /usr/local/nginx/html/pack/centos//updates/x86_64/
createrepo /usr/local/nginx/html/pack/centos//centosplus/x86_64/

#-o 指定repodata生成的目录

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

7、创建计划任务

vim /etc/crontab

添加以下内容:

    *  *   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//os/x86_64/
createrepo --update /usr/local/nginx/html/pack/centos//extras/x86_64/
createrepo --update /usr/local/nginx/html/pack/centos//updates/x86_64/
createrepo --update /usr/local/nginx/html/pack/centos//centosplus/x86_64/
createrepo --update /usr/local/nginx/html/pack/centos//os/x86_64/
createrepo --update /usr/local/nginx/html/pack/centos//extras/x86_64/
createrepo --update /usr/local/nginx/html/pack/centos//updates/x86_64/
createrepo --update /usr/local/nginx/html/pack/centos//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=
gpgcheck= #released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.yryun.com/centos/$releasever/updates/$basearch/
enabled=
gpgcheck= #additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.yryun.com/centos/$releasever/extras/$basearch/
enabled=
gpgcheck= #additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.yryun.com/centos/$releasever/centosplus/$basearch/
enabled=
gpgcheck= eof

#清除所有缓存

yum clean all

#建立缓存

yum makecache

#查看yum源列表

yum repolist

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

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

基于nginx搭建yum源服务器的更多相关文章

  1. 基于http方式搭建YUM源服务器

    基于http方式搭建YUM源服务器 (2012-09-21 11:59:14) 转载▼ 标签: yum linux lnmp lamp http 分类: Linux 为了方便公司80多台Linux服务 ...

  2. CentOS6下基于Nginx搭建mp4/flv流媒体服务器

    CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 1.先添加几个RPM下载源 1.1)安装RPMforge的CentOS6源 [roo ...

  3. FTP搭建YUM源服务器

    一.FTP搭建YUM源服务器 1.服务器 挂载centos镜像[root@localhost ~]#yum install vsftpd[root@localhost ~]#systemctl sta ...

  4. Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)

    Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...

  5. windows环境下基于nginx搭建rtmp服务器

    基于nginx搭建rtmp服务器需要引入rtmp模块,引入之后需重新编译nginx linux环境几个命令行就能实现编译,笔者未尝试,网上有很多教程. windows环境还需要安装一系列的编译环境,例 ...

  6. 基于nginx搭建简易的基于wcf集群的复杂均衡

    很多情况下基于wcf的复杂均衡都首选zookeeper,这样可以拥有更好的控制粒度,但zk对C# 不大友好,实现起来相对来说比较麻烦,实际情况下,如果 你的负载机制粒度很粗糙的话,优先使用nginx就 ...

  7. 在centos中搭建基于nginx的apt源服务器,整合yum源和apt源在一台服务器

    1.首先关闭防护墙或者设置规则通过且关闭selinux 2.nginx-1.14.2版本(编译安装)-自定义安装路径 3.开启nginx目录浏览 以上步骤请参考前文:https://www.cnblo ...

  8. RedHat7搭建yum源服务器

    1.新建目录 # mkdir -p /content/rhel7/x86_64/{isos,dvd}/ 2.上传RedHat安装光盘镜像,上传后的路径为 /content/rhel7/x86_64/i ...

  9. CentOS6.4下基于Nginx搭建mp4/flv流媒体服务器

    我的步骤如下:1. 安装依赖包: yum install glibc.i686#yum –y update#yum -y install gcc glibc glibc-devel make nasm ...

随机推荐

  1. Android开发利器之stetho

    文章同步自javaexception Stetho是什么? github上地址https://github.com/facebook/stetho stetho是facebook出品的一款开发调试工具 ...

  2. git工具使用说明

    一.什么是git?     Git是分布式版本控制系统      概念: 工作区:就是你在电脑里能看到的目录: 暂存区:一般存放在(.git/index)中,所以我们把暂存区有时也叫作索引(index ...

  3. gulp+tp5配置

    优化了文件过滤,更改文件只会重新生成修改的文件 项目目录构建: 在入口文件public下,创建html目录,作为前台静态资源目录 gulp.js文件 /*! * gulp * $ npm instal ...

  4. 深入理解 new 操作符

    和其他高级语言一样 JavaScript 也有 new 操作符,我们知道 new 可以用来实例化一个类,从而在内存中分配一个实例对象. 但在 JavaScript 中,万物皆对象,为什么还要通过 ne ...

  5. Python爬虫入门教程 51-100 Python3爬虫通过m3u8文件下载ts视频-Python爬虫6操作

    什么是m3u8文件 M3U8文件是指UTF-8编码格式的M3U文件. M3U文件是记录了一个索引纯文本文件, 打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放. ...

  6. sqlserver数据库备份时出现3241问题

    工作中需要将生产上的数据库备份到测试数据库一份,然后同步生产环境进行测试.但是在将数据库还原的过程中,遇到了下面的问题: 说是,介质簇结构不正确,猜测应该是sqlserver的版本不一致的问题,然后查 ...

  7. 网络协议 21 - RPC 协议(中)- 基于 JSON 的 RESTful 接口协议

        上一节我们了解了基于 XML 的 SOAP 协议,SOAP 的 S 是啥意思来着?是 Simple,但是好像一点儿都不简单啊! 传输协议问题     对于 SOAP 来讲,比如我创建一个订单, ...

  8. Elasticsearch倒排索引结构

    一切设计都是为了提高搜索的性能 倒排索引(Inverted Index)也叫反向索引,有反向索引必有正向索引.通俗地来讲,正向索引是通过key找value,反向索引则是通过value找key. 先来回 ...

  9. Self Host 使用 Exceptionless 实时监控程序运行日志服务

    Exceptionless 是一个可以对 ASP.NET Core, ASP.NET MVC,WebAPI, WebForms, WPF, Console 应用提供系统的日志,错误监控.报表等服务实时 ...

  10. Spring Cloud番外篇-001

    熔断监控:Hystrix Dashboard Hystrix Dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard可以直观地看到个Hystrix Com ...