首页 > 其他分享 >2、ceph安装部署

2、ceph安装部署

时间:2024-01-08 23:22:41浏览次数:46  
标签:部署 root ceph mon node1 node2 安装 osd

原文链接:https://blog.csdn.net/jkjgj/article/details/128785139 https://blog.csdn.net/qq_63844528/article/details/130213273

一、硬件

monitor:16c 16g  200g mgr:16c 16g  200g,如果启用对象存储RGW,配置翻倍 osd:16c 16g  ssd 万兆网卡

二、ceph存储部署

部署环境
主机名 os 配置 public网络 cluster网络 role
node1 Ubuntu 22.04.1 2c2g 192.168.42.140 172.16.1.1 mon,mgr,radosgw,osd,/dev/nvme0n1
node2 Ubuntu 22.04.1 2c2g 192.168.42.141 172.16.1.2 osd,mds,/dev/nvme0n1
node3 Ubuntu 22.04.1 2c2g 192.168.42.142 172.16.1.3 osd,/dev/nvme0n1,/dev/nvme0n2

 1、环境准备

配置网络 更改源 设置允许root用户登录 配置主机名解析
root@node1:~# vim /etc/hosts
# 添加
192.168.42.140    node1
192.168.42.141    node2
192.168.42.142    node3
配置时钟同步
echo "*/30 * * * * root /usr/sbin/ntpdate time1.aliyun.com" >> /etc/crontab
配置免密登录
root@node1:~# ssh-keygen
root@node1:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
root@node1:~$ vi ~/.ssh/config
添加:
Host *
StrictHostKeyChecking no
# 修改文件权限
root@node1:~$ chmod 600  ~/.ssh/config
# 将密钥复制到其他主机的root用户目录下
root@node1:~$ scp -r /root/.ssh node1:/root/
root@node1:~$ scp -r /root/.ssh node2:/root/
# 测试
root@node1:~$ ssh node1
root@node1:~$ ssh node2
root@node1:~$ ssh node3
内核参数优化
root@node1:~$ vi /etc/sysctl.conf
添加:
fs.file-max = 10000000000
fs.nr_open = 1000000000
 
root@node1:~$ vi /etc/security/limits.conf
添加:
* soft nproc 102400
* hard nproc 104800
* soft nofile 102400
* hard nofile 104800
root soft nproc 102400
root hard nproc 104800
root soft nofile 102400
root hard nofile 104800
# 将这两个修改过的文件拷贝到其他节点
root@node1:~$ scp /etc/sysctl.conf node1:/etc/
root@node1:~$ scp /etc/sysctl.conf node2:/etc/
root@node1:~$ scp /etc/security/limits.conf node1:/etc/security/
root@node1:~$ scp /etc/security/limits.conf node2:/etc/security/
# 在三台虚拟机上分别执行以下命令,让内核参数生效,并重启
root@node1:~$ sysctl -p
root@node1:~$ reboot

2、ceph软件安装 (三台主机均需执行,各节点需保证ceph版本一致)

root@node1:~# wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
root@node1:~# echo deb https://download.ceph.com/debian-pacific/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
root@node1:~# vi /etc/apt/sources.list.d/ceph.list
deb https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-pacific/ focal main
root@node1:~# cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d
root@node1:~# apt update
root@node1:~# apt -y install ceph
root@node1:~# ceph -v
ceph version 17.2.6 (d7ff0d10654d2280e08f1ab989c7cdf3064446a5) quincy (stable)

3、创建并配置mon

# 给集群生成一个唯一 ID
root@node1:~# uuidgen  
0f342ec2-6119-4261-b65a-0833732b12cb
创建配置文件
root@node1:~# vi /etc/ceph/ceph.conf
[global]
fsid = 0f342ec2-6119-4261-b65a-0833732b12cb
mon_initial_members = node1
mon host = 192.168.42.140
public network = 192.168.42.0/24
cluster network = 172.16.1.0/24
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 3
osd pool default min size = 2
osd pool default pg num = 16
osd pool default pgp num = 16
osd crush chooseleaf type = 1
# 为集群生成一个 mon 密钥环
root@node1:~# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
creating /tmp/ceph.mon.keyring
# 为集群生成一个 mgr 密钥环
root@node1:~# ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
# 为集群生成一个bootstrap-osd密钥环
root@node1:~# ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
# 将生成的密钥环导入
root@node1:~# ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
root@node1:~# ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
#修改权限
root@node1:~# sudo chown ceph:ceph /tmp/ceph.mon.keyring
# 生成监视图,保存到/tmp/monmap
root@node1:~# monmaptool --create --add node1 192.168.42.140 --fsid 0f342ec2-6119-4261-b65a-0833732b12cb /tmp/monmap
#创建节点mon目录
root@node1:~# sudo -u ceph mkdir /var/lib/ceph/mon/ceph-node1
# 初始化
root@node1:~# sudo -u ceph ceph-mon --mkfs -i node1 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
# 启动服务并查看状态
root@node1:~# sudo systemctl start ceph-mon@node1    
root@node1:~# sudo systemctl enable ceph-mon@node1
root@node1:~# sudo systemctl status ceph-mon@node1
#查看集群状态
root@node1:~# ceph -s
root@node1:~# ceph health detail
消除告警:
root@node1:~# ceph config set mon auth_allow_insecure_global_id_reclaim false  #禁用不安全模式
root@node1:~# ceph mon enable-msgr2

4、ceph-mon高可用,节点数应为奇数(1,3,5,7...)

ceph-mon@node2: #修改配置文件,把新的mon加进去,只写node1的话,node1 down了之后ceph命令就执行不了。
root@node1:~# vim /etc/ceph/ceph.conf
mon_initial_members = node1,node2,node3
mon host = 192.168.42.140,192.168.42.141,192.168.42.142
root@node1:~# scp /etc/ceph/ceph.conf node2:/etc/ceph/
root@node2:~# sudo -u ceph mkdir /var/lib/ceph/mon/ceph-node2
#在临时目录获取监视器密钥环
root@node2:~# ceph auth get mon. -o /tmp/ceph.mon.keyring
#获取监视器运行图
root@node2:~# ceph mon getmap -o /tmp/ceph.mon.map
got monmap epoch 2
root@node2:~#  chown ceph.ceph /tmp/ceph.mon.keyring
#初始化mon
root@node2:~# sudo -u ceph ceph-mon --mkfs -i node2 --monmap /tmp/ceph.mon.map --keyring /tmp/ceph.mon.keyring
# 启动服务,它会自动加入集群
root@node2:~# systemctl start ceph-mon@node2
root@node2:~# systemctl enable ceph-mon@node2
root@node2:~# systemctl status ceph-mon@node2
  ceph-mon@node3:
root@node1:~# scp /etc/ceph/ceph.conf node2:/etc/ceph/
root@node1:~# scp /etc/ceph/ceph.client.admin.keyring node3:/etc/ceph/
root@node3:~# ceph auth get mon. -o /tmp/ceph.mon.keyring
root@node3:~# ceph mon getmap -o /tmp/ceph.mon.map
got monmap epoch 3
root@node3:~# chown ceph.ceph /tmp/ceph.mon.keyring
root@node3:~# sudo -u ceph ceph-mon --mkfs -i node3 --monmap /tmp/ceph.mon.map --keyring /tmp/ceph.mon.keyring
root@node3:~# systemctl enable ceph-mon@node3
root@node3:~# systemctl start ceph-mon@node3
root@node3:~#  systemctl status ceph-mon@node3

  测试高可用
root@node1:~# systemctl stop ceph-mon@node1

4、添加mgr

root@node1:~# ceph auth get-or-create mgr.node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'  
[mgr.node1]
        key = AQC4TYBlJROvDBAAxPV1uK8dEilotSub/whl5Q==
# 创建 mgr 节点目录
root@node1:~# sudo -u ceph mkdir /var/lib/ceph/mgr/ceph-node1/
# 将 mgr 节点密钥环输出到 mgr 节点目录下
root@node1:~# ceph auth get mgr.node1 -o /var/lib/ceph/mgr/ceph-node1/keyring
# 启动服务
root@node1:~# systemctl start ceph-mgr@node1
root@node1:~# systemctl enable ceph-mgr@node1
root@node1:~# systemctl status ceph-mgr@node1
# 查看集群验证
root@node1:~# ceph -s

5、添加osd

# 密钥环从初始 mon 节点拷贝到其他节点相同目录下
root@node1:~# scp  /var/lib/ceph/bootstrap-osd/ceph.keyring node2:/var/lib/ceph/bootstrap-osd/
root@node1:~# scp  /var/lib/ceph/bootstrap-osd/ceph.keyring node3:/var/lib/ceph/bootstrap-osd/
 
root@node1:~# scp /etc/ceph/ceph.conf  node2:/etc/ceph/
root@node1:~# scp /etc/ceph/ceph.conf  node3:/etc/ceph/
# 在node1添加osd
root@node1:~# ceph-volume lvm create --data /dev/nvme0n1
root@node1:~# systemctl status ceph-osd@0  # 无需手动启动
# 在node2添加osd
root@node2:~# ceph-volume lvm create --data /dev/nvme0n1
root@node2:~# systemctl status ceph-osd@1
# 在node3添加osd
root@node3:~# ceph-volume lvm create --data /dev/nvme0n1
root@node3:~# systemctl status ceph-osd@2
# 查看主机和osd的对应关系
root@node1:~# ceph osd tree
# 查看mypool这个pool的pg分布
root@node1:~# ceph pg ls-by-pool mypool
root@node1:~# ceph pg ls-by-pool mypool | awk '{print $1,$2,$15}'
在实际应用中,ceph 主要用来提供块存储,目前已基本安装就绪。

6、启用dashboard(可选)

root@node1:~# apt install ceph-mgr-dashboard
root@node1:~# ceph mgr module enable dashboard
root@node1:~# ceph mgr module ls | grep board
# 自创建安装证书或关闭ssl( ceph config set mgr mgr/dashboard/ssl false)
root@node0:~$ ceph dashboard create-self-signed-cert
root@node0:~$ openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca
root@node0:~$ ceph dashboard set-ssl-certificate -i dashboard.crt
root@node0:~$ ceph dashboard set-ssl-certificate-key -i dashboard.key
 
root@node1:~# ceph config set mgr mgr/dashboard/server_addr 192.168.42.140
root@node1:~# ceph config set mgr mgr/dashboard/server_port 80
root@node1:~# ceph config set mgr mgr/dashboard/ssl_server_port 8443
#设置密码和查看配置
root@node1:~# echo '123456' >>  /root/cephpasswd
root@node1:~# ceph dashboard ac-user-create admin -i /root/cephpasswd administrator
root@node1:~# ceph config dump
重启mgr服务
root@node1:~# systemctl restart ceph-mgr@node1
#查看ceph-mgr dashboard监听端口
root@node1:/var/log/ceph# ceph mgr services
{
    "dashboard": "https://192.168.42.140:8443/"
}

7、块存储

#创建rbd pool,名字为myrbd,pg为16个
root@node1:~# ceph osd pool create myrbd 16
pool 'myrbd' created
root@node1:~# ceph osd lspools
1 .mgr
2 myrbd
#对存储池初始化
root@node1:~# rbd pool init myrbd
注:rbd存储池不能直接用于块设备,需要实现创建image,并把image文件作为块设备使用,rbd命令可用于创建、查看及删除块设备相应的image,以及克隆image,创建快照,将镜像回滚到快照,查看快照等管理操作。 #创建一块1G的磁盘disk01,指定磁盘特性layering,不指定默认的所有的特性需要高版本内核支持。
root@node1:~# rbd create disk01 --pool myrbd --size 1G --image-feature layering
root@node1:~# rbd ls myrbd
disk01
root@node1:~# rbd --pool myrbd --image disk01 info  
客户机挂载使用。
root@node2:~# apt -y install ceph-common  版本一致
#从部署服务器同步认证文件。这样客户机就相当于用admin权限在访问集群,生产不建议。
root@node1:~# scp /etc/ceph/ceph.conf node2:/etc/ceph/
root@node1:~# scp /etc/ceph/ceph.client.admin.keyring node2:/etc/ceph/
# 映射到客户机本地,并查看映射情况
root@node2:~# rbd --pool myrbd map disk01   #需设置开机自启动
/dev/rbd0
root@node2:~# rbd showmapped
id  pool   namespace  image   snap  device   
0   myrbd             disk01  -     /dev/rbd0
#挂载使用
root@node2:~# fdisk -l
root@node2:~# mkfs.xfs /dev/rbd0
root@node2:~# mkdir /data02
root@node2:~# mount /dev/rbd0 /data02  #需设置开机自启动
  #删掉image
root@node2:~# umount /data02
# 断开映射 
root@node2:~# rbd --pool myrbd unmap disk01
root@node2:~# rbd showmapped
# 删除image
root@node2:~# rbd --pool myrbd remove disk01
root@node2:~# rbd ls myrbd

为rbd使用创建单独授权

# 创建用户client.rbd01
root@node1:~# ceph auth get-or-create client.rbd01
# 授予权限给用户
root@node1:~# ceph auth caps client.rbd01 mon 'allow r' osd 'allow rwx pool=myrbd'
# 获取该用户的权限列表并导出该文件
root@node1:~# ceph auth get client.rbd01 -o /etc/ceph/client.rbd01.keyring
客户机使用:
root@node3:~# apt -y install ceph-common  版本一致
root@node1:~# scp /etc/ceph/client.rbd01.keyring  node3:/etc/ceph/
root@node1:~# scp /etc/ceph/ceph.conf node3:/etc/ceph/
root@node3:~# vi /etc/ceph/ceph.conf 
[global]
fsid = 0f342ec2-6119-4261-b65a-0833732b12cb
mon_initial_members = node1
mon host = 192.168.42.140
public network = 192.168.42.0/24
cluster network = 172.16.1.0/24
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 3
osd pool default min size = 2
osd pool default pg num = 16
osd pool default pgp num = 16
osd crush chooseleaf type = 1
 
[client.rbd01]
keyring=/etc/ceph/client.rbd01.keyring
验证使用:
root@node3:~# ceph -s --id rbd01
root@node3:~# ceph osd lspools  --id rbd01
1 .mgr
2 myrbd
root@node3:~# rbd create disk01 --pool myrbd --size 1G --image-feature layering --id rbd01
root@node3:~# rbd ls pool --pool myrbd --id rbd01     
disk01
root@node3:~# rbd --pool myrbd map disk01 --id rbd01  
root@node3:~# ll /dev/rbd0
brw-rw---- 1 root disk 252, 0 Dec 19 11:27 /dev/rbd0

接下来创建文件系统,挂载使用即可。

8、对象存储

在集群中添加对象存储服务(radosgw):
root@node1:~# apt install radosgw -y
root@node1:~# vi /etc/ceph/ceph.conf  
# 添加配置:默认端口7480
[client.rgw.node1]
host = node1
rgw frontends = "beast port=7480"  
rgw dns name = node1
# 将密钥环输出至rgw-node1
root@node1:~# sudo -u ceph mkdir -p /var/lib/ceph/radosgw/ceph-rgw.node1
root@node1:~# ceph auth get-or-create client.rgw.node1 osd 'allow rwx' mon 'allow rw' -o /var/lib/ceph/radosgw/ceph-rgw.node1/keyring
#启动rgw,会 自 动 生 成 .rgw.root 与 default.rgw.log 与 default.rgw.control 与 default.rgw.meta 与default.rgw.buckets.index 默认存储池,类型均为 rgw。
root@node1:~# systemctl enable --now [email protected]
报错: 处理方式:
root@node1:~# vi /etc/ceph/ceph.conf
添加/修改: [global]
osd pool default pg num = 16
osd pool default pgp num = 16
mon_max_pg_per_osd = 1000
root@node1:~# systemctl restart ceph-mon@node1 
root@node1:~# systemctl status [email protected]
未解决 实际解决的方案: # 手动创建rgw需要的pool
# ceph osd pool create .rgw.root 16 16
# ceph osd pool create default.rgw.control 16 16
# ceph osd pool create default.rgw.meta 16 16
# ceph osd pool create default.rgw.log 16 16
# ceph osd pool create default.rgw.buckets.index 16 16
# ceph osd pool create default.rgw.buckets.data 16 16
# ceph osd pool create default.rgw.buckets.non-ec 16 16
设置存储池类型为rgw
# ceph osd pool application enable .rgw.root rgw
# ceph osd pool application enable default.rgw.control rgw
# ceph osd pool application enable default.rgw.meta rgw
# ceph osd pool application enable default.rgw.log rgw
# ceph osd pool application enable default.rgw.buckets.index rgw
# ceph osd pool application enable default.rgw.buckets.data rgw
# ceph osd pool application enable default.rgw.buckets.non-ec rgw
 #重新启动rgw
root@node1:~# systemctl restart [email protected]
root@node1:~# systemctl enable [email protected]
root@node1:~# systemctl status [email protected]
# 在RGW节点添加一个对象存储网关的管理员账户
root@node1:~#  radosgw-admin user create --uid="admin" --display-name="admin user" --system
# 查询用户信息
root@node1:~# radosgw-admin user list
root@node1:~# radosgw-admin user info --uid=admin
# 分别将上面admin账户信息中的access_key和secret_key复制粘贴到rgw_access_key、rgw_secret_key文件中 # 将radosgw集成到dashboard
root@node1:~/ceph# ceph dashboard set-rgw-api-ssl-verify false
root@node1:~/ceph# ceph dashboard set-rgw-api-access-key -i rgw_access_key
root@node1:~/ceph# ceph dashboard set-rgw-api-secret-key -i rgw_secret_key
访问dashboard,https://192.168.42.140:8443/ ,可在上面创建用户和bucket等  

9、文件存储

#在集群中添加ceph MDS服务
root@node2:~# apt install -y ceph-mds
#创建目录,秘钥,导出mds秘钥
root@node2:~#  sudo -u ceph mkdir -p /var/lib/ceph/mds/ceph-node2
root@node2:~# ceph auth get-or-create mds.node2 osd "allow rwx" mds "allow" mon "allow profile mds"
root@node2:~# ceph auth get mds.node2 -o /var/lib/ceph/mds/ceph-node2/keyring
#启动服务
root@node2:~# systemctl start ceph-mds@node2
root@node2:~# systemctl enable ceph-mds@node2
root@node2:~# systemctl status ceph-mds@node2
root@node1:~# ceph mds stat
1 up:standby
# 创建cephfs所需要的的metadata和data存储池
root@node1:~# ceph osd pool create cephfs_data 16
root@node1:~# ceph osd pool create cephfs_metadata 16
root@node1:~# ceph fs new cephfs cephfs_metadata cephfs_data  #cephfs是name
root@node1:~# ceph fs ls
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
root@node1:~# ceph mds stat
root@node1:~# ceph fs status cephfs  #查看name为cephfs的状态
客户端挂载使用cephfs,需要指定mon节点的6789端口。
root@node3:~# apt install ceph-common -y
拷贝mon节点的ceph.conf、和管理员秘钥到客户端(实际应单独创建用户和秘钥)
root@node3:~# scp 192.168.42.140:/etc/ceph/ceph.client.admin.keyring /etc/ceph/keyring
root@node3:~# mount -t ceph 192.168.42.140:6789:/ /mnt -o name=admin
  单独创建用户和秘钥挂载:
root@node1:~# ceph fs authorize cephfs client.cephfs01 / rw  
[client.cephfs01]
        key = AQDLq4FlgiIVCxAAdb0JifnQNqRH5e5R4ZeT+g==
root@node1:~# ceph auth get-or-create client.cephfs01 -o /etc/ceph/client.cephfs.keyring
将client.cephfs.keyring文件拷贝到客户端并重命名为/etc/ceph/keyring
root@node1:~# scp /etc/ceph/client.cephfs.keyring node3:/etc/ceph/keyring
root@node3:~# mount -t ceph 192.168.42.140:6789:/ /mnt -o name=cephfs01

标签:部署,root,ceph,mon,node1,node2,安装,osd
From: https://www.cnblogs.com/cmxu/p/17953386

相关文章

  • Docker安装MySQL
    Docker安装MySQL和直接安装MySQL的区别如下1:资源开销:Docker方式的资源开销更大。Docker方式需要运行一个MySQL容器,并需要额外运行Docker引擎,所以总体占用更多资源。直接安装方式只需要运行MySQL服务,资源占用更小。隔离性:Docker方式隔离性更好。Docker可以将MySQL完全隔离在容器内,不......
  • Python 安装教程总结
    1、使用官方Python安装程序参考文档:Python在windows上安装配置方法(Python2和Python3)具体操作如下,Windows下安装Python,我们可以参考这个文档教程来安装,下载Python安装程序,选择与您操作系统版本相对应的安装程序。对于Windows用户,通常建议下载Windowsx86-64execu......
  • ceph通过tgt配置多路径的数据一致性问题
    前言使用librbd通过tgt出iscsi,多路径数据是一致的,由于环境的原因,切换为kernelrbd出iscsi,然后通过不同的iscsi路径写入后,发现在rbd端就出现了数据没有刷新的问题问题分析这里有个类似的问题https://github.com/ceph/ceph-csi/issues/461这个是通过把rbdmap到不同的节点,通过dd写入......
  • 低成本高效率易部署,Ruff数采网关+IoT云平台赋能工厂数字化转型
    随着工业4.0的快速发展,物联网技术的应用越来越广泛。因此,物联网也为工业企业实现数字化转型提供了强大助力。数据采集网关作为连接工业设备与物联网平台的硬件设备与关键节点,它负责将工业设备的数据采集、传输到物联网平台,并将物联网平台的指令下发给工业设备,从而实现多种工业设备......
  • Mac M1芯片安装android-platform-tools
    brewinstallCaskroom/cask/android-platform-tools遇见的报错解决办法brewupdate-reset......
  • JDK安装与配置教程来啦
    1.从Oracle公司官网下载JDK安装文件。官网地址为:http://www.oracle.com/technetwork/java/javase/downloads/index.html目前最新版本是JDK21,下面就以JDK21举例。2.需要登录Oracle账户,没有的注册一下就行了。3.在确认安装的盘符(例如:E盘)新建文件夹,取名为Java。4.双击下载的JDK安装文......
  • Mac安装Python3.12开发环境
    官网https://www.python.org/downloads/安装pythonpython-3.12.1-macos11.pkg下载后,安装一直下一步即可验证是否安装成功,执行python3命令和pip3命令配置环境变量获取python3安装位置并配置在.bash_profile#查看python路径whichpython3#修改配置文件.bash_profileopen-e.bash......
  • k8s 对接 cephfs 文件系统
    创建资源池cephosdpoolcreatecephfs_data128cephosdpoolcreatecephfs_metadata128文件系统需要两个资源池,一个用于存储数据体,一个用于存放索引信息及其他数据相关信息。创建文件系统cephfsnewcephfscephfs_metadatacephfs_data获取admin秘钥cephauthg......
  • CentOS7 安装Oracle RAC
    本文是OracleRAC安装之前的前期准备工作,贴出以便后续查阅修改主机名hostnamectlset-hostnamewebdb1hostnamectlset-hostnamewebdb2禁用NUMA和透明大页vi/etc/default/grub[root@webdb1~]#cat/etc/default/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed's,release.*$,,g......
  • 【Nginx】在线安装与离线安装
    目录1、下载nginxnews1.2、安装包2、 在线安装第一步,安装pcre第二步,安装openssl、zlib、 gcc依赖第三步,安装nginx第四步,关闭防火墙,访问nginx编辑3、离线安装第一步安装pcre第二步安装openssl第三步安装zlib第四步安装nginx1、下载nginxnews1.2、安装包pcre-8.37.tar......