首页 > 系统相关 >nginx-1.22.1的rpm包,乱打。

nginx-1.22.1的rpm包,乱打。

时间:2023-06-22 22:12:15浏览次数:45  
标签:-- root nginx yum web01 1.22 rpm

环境准备

主机名 WanIP LanIP 应用 角色
web01 10.0.0.7 172.16.1.7 fpm 打包工具
web02 10.0.0.8 172.16.1.8 yumrepo yum仓库
web03 10.0.0.9 172.16.1.9 安装rpm包的客户端

web01安装fpm打包工具

# 0.安装依赖
[root@web01 ~]# yum install -y rpm-build

# 1.下载fpm打包工具(ruby)
[root@web01 ~]# wget http://test.driverzeng.com/other/fpm-1.3.3.x86_64.tar.gz

# 2.解压
[root@web01 ~]# tar xf fpm-1.3.3.x86_64.tar.gz

# 3.安装ruby环境
[root@web01 ~]# yum install -y ruby rubygems ruby-devel

gem ruby应用商店 .gem
yum CentOS应用商店 .rpm
pip python库应用商店

# 4.查看gem源
[root@web01 ~]# gem source --list
*** CURRENT SOURCES ***
https://rubygems.org/

# 5.删除官方源
[root@web01 ~]# gem sources --remove https://rubygems.org/

# 6.更换阿里云gem源
[root@web01 ~]# gem sources -a https://mirrors.aliyun.com/rubygems/
https://mirrors.aliyun.com/rubygems/ added to sources

[root@web01 ~]# gem source --list
*** CURRENT SOURCES ***
https://mirrors.aliyun.com/rubygems/

# 7.安装fpm
[root@web01 ~]# gem install *.gem

# 8.检查是否安装成功
[root@web01 ~]# fpm --version
1.3.3

nginx包和需要的依赖都拿出来

# 将nginx需要的依赖下载rpm包下来
yum install -y pcre-devel zlib-devel openssl-devel --downloadonly --downloaddir=/root

# 安装nginx的依赖包
yum localinstall -y *.rpm

源码安装一下自己想要的nginx版本

# 0.安装依赖
[root@web01 nginx-1.22.1]# yum install -y pcre-devel zlib-devel openssl-devel
# 1.下载nginx源码包
[root@web01 ~]# wget https://nginx.org/download/nginx-1.22.1.tar.gz
# 2.解压
[root@web01 ~]# tar xf nginx-1.22.1.tar.gz
# 3.生成
[root@web01 ~]# cd nginx-1.22.1/
[root@web01 nginx-1.22.1]# ./configure --prefix=/app/nginx-1.22.1 --with-http_ssl_module
# 4.编译,安装
[root@web01 nginx-1.22.1]# make && make install

fpm
-s dir # 指定将目录、文件打包成rpm
-t rpm # 打包成rpm包
-n nginx # name rpm包的名字
-v 1.6.3 # rpm包的版本
-d 'pcre-devel,openssl-devel' # 指定依赖
--post-install /server/scripts/nginx_rpm.sh # 安装之后,需要执行的命令(脚本)
-f /application/nginx-1.6.3/ # 指定打包的目录

# yum命令可以帮你自动解决依赖关系
## 编写脚本
[root@web01 nginx-1.22.1]# vim /root/install_nginx.sh

#!/bin/bash

groupadd www -g 666
useradd www -u 666 -g 666 -s /sbin/nologin -M

ln -s /app/nginx-1.22.1 /app/nginx


fpm -s dir -t rpm -n nginx -v 1.22.1 -d 'pcre-devel,openssl-devel,zlib-devel' --post-install /root/install_nginx.sh -f /app/nginx-1.22.1

-----------------------------------------------------

-s, --source: 指定打包源,支持以下源:gem, deb, rpm, python, nodejs, osxpkg, zip等。
-t, --target:指定打包目标,支持以下目标:rpm, deb, pacman, solaris, tar, etc。该选项还可用于指定目标软件包的名称和版本。
-n, --name:指定软件包的名称。
-v, --version:指定软件包的版本号。
-a, --architecture:指定软件包所针对的 CPU 架构,如 x86_64、i386 等。
-m, --maintainer:指定软件包负责人的信息。
-d, --depends:指定软件包所依赖的其他软件包的名称和版本。
-C, --chdir:指定打包时的工作目录。
-p, --package:指定输出的软件包文件名或者目录。
--post-install  软件包安装完成之后所要运行的脚本;同--after-install
--pre-install  软件包安装完成之前所要运行的脚本;同--before-install

web02制作yum仓库

### 先在这个机器里安装nginx,就是上面刚打包的。

# 安装createrepo软件(创建存储库)
yum install createrepo -y

# 创建yum仓库目录
mkdir -p /app/nginx/html/yumcache/

## 将保存好的rpm包放入/app/nginx/html/yumcache/
[root@web01 ~]# cp ./*.rpm /app/nginx/html/yumcache/

#初始化yum仓库
createrepo -pdo /app/nginx/html/yumcache/ /app/nginx/html/yumcache/

-p, --pretty: 指定在生成 repomd.xml 元数据时使用漂亮的格式。这将使元数据更易于阅读和编辑,但也会增加文件的大小。
-d, --database: 执行额外的数据库检查,以确保所有软件包都已正确索引。如果添加新软件包,或者有软件包因其他原因而改变,则需要运行此选项。
-o, --outputdir: 指定输出目录,即用于存储生成的 repodata 目录和 repomd.xml 文件的目录。

## 当有新的rpm放到/application/nginx/html/yumcache里时,执行更新
createrepo --update /app/nginx/html/yumcache/

#修改nginx配置文件,让它默认访问浏览器找到html/yumcache/目录

cat  >/app/nginx/conf/nginx.conf<<EOF
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 / {
            root   html/yumcache;
            autoindex on;         ##开启目录
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
EOF

#检查语法重启nginx服务
/app/nginx/sbin/nginx -t
/app/nginx/sbin/nginx

#访问ip可以查看yum仓库内容,下面会多个一个repodata/目录,是createrepo生成的。

web03配置yum源

##客户端部署
gzip /etc/yum.repos.d/*

# 自己新建一个yum源文件
vim /etc/yum.repos.d/nginx.repo
[ttthhh]
name=Repo Name
baseurl=http://10.0.0.8
gpgcheck=0
enabled=1

#清空之前的缓存
yum clean all
错误排查
Error: Package: nginx (myyum)
           Requires: libxslt-develpcre
           
# 在提示类似错误的时候,是缺少某个依赖包,下来放到yum仓库即可。
# 仓库执行update的命令;客户端执行yum clean all

#如果确认仓库有包,但是客户端没有,排查思路
#1、yum仓库createrepo --update /application/nginx/html/yumcache/
#2、客户端,yum clean all;
#3、如何还不可以,服务端删除生成的repodata目录,重新createrepo -pdo /application/nginx/html/yumcache/ /application/nginx/html/yumcache/,然后执行第二步;
#在客户机安装的时候总提示没有可用的安装包,最后发现是/etc/yum.repos.d/下的文件名后缀写错了。
在客户机安装的时候总是提示文件找不到,什么都不能安装
error was [Errno 2] Local file does not exist: /root/pdate/libiconv-devel-1.14-1.x86_64.rpm
  libxml2-devel-2.7.6-21.el6_8.1.x86_64: failed to retrieve libxml2-devel-2.7.6-21.el6_8.1.x86_64.rpm from m01
error was [Errno 2] Local file does not exist: /root/pdate/libxml2-devel-2.7.6-21.el6_8.1.x86_64.rpm
  libX11-devel-1.6.3-2.el6.x86_64: failed to retrieve libX11-devel-1.6.3-2.el6.x86_64.rpm from m01
error was [Errno 2] Local file does not exist: /root/pdate/libX11-devel-1.6.3-2.el6.x86_64.rpm
  libXt-1.1.4-6.1.el6.x86_64: failed to retrieve libXt-1.1.4-6.1.el6.x86_64.rpm from m01
error was [Errno 2] Local file does not exist: /root/pdate/libXt-1.1.4-6.1.el6.x86_64.rpm
  mhash-0.9.9.9-3.el6.x86_64: failed to retrieve mhash-0.9.9.9-3.el6.x86_64.rpm from m01
error was [Errno 2] Local file does not exist: /root/pdate/mhash-0.9.9.9-3.el6.x86_64.rpm
  libmcrypt-2.5.8-9.el6.x86_64: failed to retrieve libmcrypt-2.5.8-9.el6.x86_64.rpm from m01
error was [Errno 2] Local file does not exist: /root/pdate/libmcrypt-2.5.8-9.el6.x86_64.rpm

## 解决方法:在服务端在/application/nginx/html/yumcache/下删除repodata    这个目录然后执行 createrepo --update /application/nginx/html/yumcache即可

标签:--,root,nginx,yum,web01,1.22,rpm
From: https://www.cnblogs.com/xiutai/p/17498434.html

相关文章

  • 阿里云Centos7安装和启动nginx
    centos7安装nginx一、背景在阿里云租了一台centos7的服务器,上面部署了6个tomcat容器,每个里面至少一个应用在跑。之前都是跑的后台应用,应用之间的调用都通过ip+port来解决。但是现在有了2个前端页面的显示要部署,需要通过www.xxxx.com来直接访问到应用,不需要通过端口来解决。所......
  • nginx启动命令和停止命令
    进入nginx的sbin目录下cd/usr/local/nginx/sbin/1、启动nginx./nginx2、停止nginx两种方式#待nginx进程处理任务完毕进行停止。./nginx-squit#先查出nginx进程id再使用kill命令强制杀掉进程。./nginx-sstop3、查看nginx端口psaux|grepnginx4、查看nginx版本......
  • Nginx安装、不能启动的解决办法(无sbin目录,无error.log及access.log文件)、简单文件服务
    基于Nginx搭建的http服务器应用已愈发广泛,本文介绍的Nginx的相关内容都是在Linux环境下搭建完成的。一、Nginx的安装两种方法,二选一即可,有运行不成功的,就在命令前加sudo[安装方法一]##添加源sudorpm-Uvhhttp://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-cen......
  • Nginx服务器之负载均衡策略(6种)
    一、关于Nginx的负载均衡在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器。二、Nginx负载均衡策略负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最......
  • nginx 的模块及处理流程
        nginx的内部结构是由核心部分和一系列的功能模块所组成。这样划分是为了使得每个模块的功能相对简单,便于开发,同时也便于对系统进行功能扩展。这样的模块化设计类似于面向对象中的接口类,它增强了nginx源码的可读性、可扩充性和可维护性。nginx的4种角色模块Nginx模块主要有......
  • Nginx 解析漏洞复现、利用
    1、漏洞复现用vulhub复现该漏洞vubhub环境搭建:https://blog.csdn.net/weixin_59679023/article/details/123739030nginx解析漏洞:https://vulhub.org/#/environments/nginx/nginx_parsing_vulnerability/打开终端输入:cdvulhub/nginx/nginx_parsing_vulnerability/sudodocker-co......
  • ERROR: nginx-1.22.1 installation failed.
    libraries.Youcaneitherdonotenablethemoduleorinstallthelibraries.make:***Noruletomaketarget'build',neededby'default'.Stop.make:***Noruletomaketarget'install'.Stop.================================......
  • nginx-1.22.1版本的rpm包,自己手动打。
    环境准备主机名WanIPLanIP应用角色web0110.0.0.7172.16.1.7fpm打包工具web0210.0.0.8172.16.1.8yumrepoyum仓库web0310.0.0.9172.16.1.9安装rpm包的客户端web01安装fpm打包工具#0.安装依赖[root@web01~]#yuminstall-yrpm-build#1.......
  • Kubernetes Ingress 之 Nginx Ingress
    一.引言k8s提供了一下四种方式来暴露端口,分别是:ClusterIP,仅供集群内部访问NodePort,端口映射,给node随机分配端口,然后由service进行代理LoadBalancer,负载均衡模式,一般由云服务商提供负载均衡策略Ingress,网关模式,使用自定义的http(s)路由规则对Service进行代理。这也是实......
  • Nginx配置详解
    1基本概念1.1Nginx简介Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现好。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接......