使用nginx搭建debian源映象伺服器

2021-06-14 23:38:30 字數 2676 閱讀 4044

內網的linux伺服器越來越多,有必要搭建乙個內網debian源映象伺服器

debian官方提供了建設源映象的指令碼ftpsync,而且有詳細的源映象設定說明

準備工作

ftpsync使用rsync程式進行源映象

apt-get install rsync

對於伺服器在內網,需要通過**出去的情況,要設定rsync_proxy="***x.com:port"。

配置ftpsync

ftpsync使用環境變數basedir來定位程式檔案、配置檔案和日誌檔案等的存放路徑,basedir預設取值$,可以將ftpsync放置到使用者主目錄下

在使用者主目錄下新建bin,etc,log目錄,解壓ftpsync,

$ tar zxvf ftpsync.tar.gz

$ cp distrib/bin/ftpsync ~/bin

$ cp distrib/etc/ftpsync.conf.sample ~/etc/ftpsync.conf

$ cp distrib/etc/common ~/etc/common

建立存放映象檔案的單獨目錄,各種架構需要的磁碟空間,當前映象all,amd64和source總用約需要190g硬碟空間。

可以在任何位置存放映象,只要執行ftpsync的使用者對目錄有讀寫許可權即可。此處使用/srv/mirrors/debian存放映象檔案,將目錄的所有者和所屬組設定為當前使用者。

最後開啟~/etc/ftpsync.conf,修改以下內容:

to=」/srv/mirrors/debian/」 ##映象源存放位置

rsync_host=」ftp.cn.debian.org」 ##映象自哪個外部源,debian中國官方源映象是最佳選擇,當然ftp.tw.debian.org,ftp.kr.debian.org和ftp.jp.debian.org速度也很快,中國官方源映象由中國科技大學維護

arch_exclude=」alpha arm armel armhf hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mipsel mips powerpc s390 s390x sh sparc source」 ##排除的架構,此處只保留amd64源,source源也排除,只映象必要的,盡量節省硬碟空間。

:當前指令碼排除source映象會提示錯誤:

unexpected remote arg: ftp.cd.debian.org::debian

rsync error: syntax or usage error (code 1) at main.c(1232) [sender=3.0.9]

不要排除source可解決此錯誤。

推送模式映象伺服器

當檔案庫有變化時,上游源映象伺服器會主動向下游映象伺服器推送同步通知,然後下游源映象伺服器就可以及時的更新自己的檔案庫,這就是推模式映象。debian的主伺服器與下游映象伺服器之間即採用此種模式。

此種模式需要下游映象伺服器配置ssh服務,上游映象伺服器使用ssh來通知下游伺服器。可以使用乙個普通使用者來接受通知,將上游映象伺服器的公鑰儲存在~/.ssh/authorized_keys檔案中,並且在此檔案中新增如下語句以限制上游映象伺服器的許可權

no-port-forwarding,no-x11-forwarding,no-agent-forwarding,no-pty,command=」~/bin/ftpsync」,from=」ip_address」

此處ip_address即上游映象伺服器的ip位址。

而且上游upstream映象伺服器還可以通過使用者名稱/密碼來授權誰可以向某些下游映象伺服器進行推送,並且這些使用者名稱/密碼是與系統隔離的,並不是使用/etc/passwd,進一步增強安全性。

使用推送模式同步需要將下游downstream伺服器位址,ssh埠和使用的使用者告知上游源映象伺服器維護者

對於企業內部的源映象伺服器,沒有必要使用推模式,只要在空閒時段定時與上游源映象伺服器同步即可。

讓ftpsync自動執行

使用cron讓ftpsync定時自動執行,/etc/cron.d/目錄下新增檔案ftpsync,內容如下:

shell=/bin/bash

path=/home/username/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

#minute hour day_of_month month day_of_week user command

0 1 * * * username ftpsync

username為執行ftpsync指令碼的使用者,每天凌晨1點自動執行ftpsync指令碼與上游源映象伺服器同步

源映象http配置

內網其他使用者需要通過http或者ftp協議從本地源映象伺服器更新系統,此處使用nginx來提供http方式的源映象服務

# apt-get install nginx

新建/etc/nginx/sites-enabled/debian_mirror.conf檔案,內容如下:

server

}sudo service nginx restart

使用本地源映象服務

mirror_ip即是新建的源映象伺服器的ip位址。

Debian使用apt安裝nginx

本文參考自官方文件,並實踐成功,特此記錄 安裝依賴 sudo apt install curl gnupg2 ca certificates lsb release如果要使用穩定性版的nginx,執行以下命令 echo deb lsb release cs nginx sudo tee etc ap...

使用apt mirror搭建debian映象源

debian官方提供了指令碼ftpsync來搭建源映象,而 apt mirror 是乙個更簡單便捷的源映象搭建工具。安裝 apt mirror sudo apt get install apt mirror配置檔案 etc apt mirror.list只要修改很少的地方,大部分使用預設值即可。這裡...

Nginx搭建及使用

和負載均衡 安裝詳細步驟可檢視尋夢1314的相關部落格 啟動 nginx 重啟 nginx s reload 停止 nginx s qust 有日誌 或者nginx s stop 無日誌 server 示例如下 server 需要注意的是,配置成功都需要重啟nginx才可生效。這裡 了本地8081訪...