久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Caddy最容易上手的Web Server

 老白教授 2018-02-20

Caddy最容易上手的Web Server-自動化HTTPS一分鐘部署網(wǎng)站\網(wǎng)盤

2018年01月27日 ? 評論數(shù) 1 ? 被圍觀 455 個(gè)+

Caddy服務(wù)器(或者Caddy Web)是一個(gè)開源的使用 GoLang 編寫,支持 HTTP/2 的 Web 服務(wù)端,。它使用 GoLang 標(biāo)準(zhǔn)庫提供 HTTP 功能,, Caddy 一個(gè)顯著的特性是默認(rèn)啟用 HTTPS,它是第一個(gè)無需額外配置即可提供 HTTPS 特性的 Web 服務(wù)器,。

Caddy和我們常用的Nginx,、Apache等Web服務(wù)器相比,最大的特點(diǎn)就是部署簡單,,它擁有基本的apache或者nginx有的web server模塊,,同時(shí)還有一些很有特色的功能,,比如: HTTP/2、Automatic HTTPS,、Multi-core,、Websockets、Markdown,、IPv6等等,。

Caddy可以用于靜態(tài)和動態(tài)網(wǎng)站,當(dāng)然不少人看到了Caddy易于安裝部署的特點(diǎn),,將Caddy與網(wǎng)盤,、下載等各類應(yīng)用整合,這樣既發(fā)揮了Caddy部署配置簡單的優(yōu)勢,,同時(shí)又可以最大限度地節(jié)省服務(wù)器資源,,專注于第三方應(yīng)用的開發(fā)管理。

本文就來分享一下Caddy服務(wù)器的安裝與使用,,更多的網(wǎng)站建站工具和腳本,,還有:

三款優(yōu)秀的在線文件管理器(目錄列表)對比-Directory Lister、h5ai和FileRun

Smokeping安裝與配置-免費(fèi)開源網(wǎng)絡(luò)性能監(jiān)控工具可視化主/從部署

OneinStack一鍵安裝腳本-輕松部署Let’s Encrypt證書配置Https站點(diǎn)

一,、Caddy安裝方法

Caddy官網(wǎng):

網(wǎng)站:https:///

下載:https:///download

Github:https://github.com/mholt/caddy

Caddy安裝與部署只有三步,。首先,根據(jù)你的服務(wù)器操作系統(tǒng)選擇Caddy版本并下載(Linux和Windows都支持),。

 

 

Caddy提供了豐富的插件可供選擇,,例如:

http.cache,http.filemanager,http.ipfilter,http.ratelimit等。

其次,,將Caddy包下載到VPS主機(jī)上并解壓,,例如我下載的是:caddy_v0.10.10_linux_amd64_custom_personal.tar.gz,將壓縮包解壓到你的網(wǎng)站根目錄下載,,即index.html放置的地方,。

最后,在 caddy 解壓出來的目錄(網(wǎng)站根目錄)執(zhí)行 ./caddy ,,這時(shí)訪問 :

xxx.xxx.xxx.xxx:2015你的網(wǎng)站可以正常訪問了,。

推薦caddy官方一鍵安裝腳本。

腳本如下:

  • curl https:// | bash -s personal
    或者
    wget -qO- https:// | bash -s personal
    如果想要安裝插件,,請使用以下命令:
    curl https:// | bash -s personal http.git,dns

使用 which caddy,,可以看到 caddy 已經(jīng)被安裝到了 /usr/local/bin/caddy 。 進(jìn)入到網(wǎng)站根目錄,,然后執(zhí)行命令:caddy,,再打開你的IP:2015,你就可以看到Web頁面了,。

二,、Caddy配置方法

2.1 創(chuàng)建配置文件

首先創(chuàng)建配置文件放到 /etc/caddy 里,。

  • sudo mkdir /etc/caddy
    sudo touch /etc/caddy/Caddyfile
    sudo chown -R root:www-data /etc/caddy

除了配置文件,caddy 會自動生成 ssl 證書,,需一個(gè)文件放置 ssl 證書,。

  • sudo mkdir /etc/ssl/caddy
    sudo chown -R www-data:root /etc/ssl/caddy
    sudo chmod 0770 /etc/ssl/caddy

因?yàn)?ssl 文件夾里會放置私鑰,所以權(quán)限設(shè)置成 770 禁止其他用戶訪問,。 最后,,創(chuàng)建一下放置網(wǎng)站文件的目錄,如果已經(jīng)有了,,就不需要?jiǎng)?chuàng)建了,。

  • sudo mkdir /var/www
    sudo chown www-data:www-data /var/www

2.2 設(shè)置開機(jī)啟動

創(chuàng)建好這些文件和目錄了之后,我們需要把 caddy 配置成一個(gè)服務(wù),,這樣就可以開機(jī)自動運(yùn)行,,并且管理起來也方便。因?yàn)槟壳按蠖鄶?shù)發(fā)行版都使用 systemd 了,,所以這里只講一下如何配置 systemd,。

  • sudo curl -s https://raw./mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service # 從 github 下載 systemd 配置文件
    sudo systemctl daemon-reload # 重新加載 systemd 配置
    sudo systemctl enable caddy.service # 設(shè)置 caddy 服務(wù)自啟動
    sudo systemctl status caddy.service # 查看 caddy 狀態(tài)

2.3 編輯Caddyfile。

可以直接 vim /etc/caddy/Caddyfile 來修改 Caddyfile,,也可以再自己電腦上改好然后上傳到服務(wù)器上,。如果修改了 Caddyfile 發(fā)現(xiàn)沒有生效,,是需要執(zhí)行一下 sudo systemctl restart caddy.service 來重啟 caddy ,。

2.4 Caddyfile 的格式

Caddfile的格式還是比較簡單的,,首先第一行必須是網(wǎng)站的地址,例如:

  • localhost:8080

地址可以帶一個(gè)端口號,,那么 caddy 只會在這個(gè)端口上開啟 http 服務(wù),,而不會開啟 https,如果不寫端口號的話,,caddy 會默認(rèn)綁定 80 和 443 端口,,同時(shí)啟動 http 和 https 服務(wù)。地址后面可以再跟一大堆指令(directive),。Caddyfile 的基本格式就是這樣,由一個(gè)網(wǎng)站地址和指令組成,。

2.5 指令

指令的作用是為網(wǎng)站開啟某些功能,。指令的格式有三種,先說一下最簡單的不帶參數(shù)的指令比如:


  • gzip

第二行的 gzip 就是一個(gè)指令,,它表示打開 gzip 壓縮功能,,這樣網(wǎng)站在傳輸網(wǎng)頁是可以降低流量。第二種指令的格式是帶簡單參數(shù)的指令:

第三行,,log 指令會為網(wǎng)站開啟 log 功能,,log 指令后的參數(shù)告訴 caddy log 文件存放的位置,。第四行的 tls 指令告訴 caddy 為網(wǎng)站開啟 https 并自動申請證書,后面的 email 參數(shù)是告知 CA 申請人的郵箱,。(caddy 會默認(rèn)使用 let’s encrypt 申請證書并續(xù)約,,很方便吧)

另外,簡單參數(shù)也可能不只一個(gè),,比如 redir 指令:


  • gzip
    log /var/log/caddy/access.log
    tls /etc/ssl/cert.pem /etc/ssl/key.pem
    root /var/www/
    redir / https:///archive/{uri} 301

上面的 redir 指令帶了三個(gè)參數(shù),,意思是把所有的請求使用 301 重定向,這個(gè)指令在給網(wǎng)站換域名的時(shí)候很有用,。另外 tls 指令變了,,不單單傳 email一個(gè)參數(shù), 而是分別傳了證書和私鑰的路徑,,這樣的話 caddy 就不會去自動申請證書,,而是使用路徑給出的證書了。

在這個(gè)例子里還使用了 {uri} 這樣的占位符(placeholder),,詳細(xì)的列表可以在這里查詢到:https:///docs/placeholders,。最后一種指令是帶復(fù)雜參數(shù)的,這種指令包含可能很多參數(shù),,所以需要用一對花括號包起來,,比如 header 指令:


  • gzip
    log /var/log/caddy/access.log
    tls [email protected]
    root /var/www/
    header /api {
    Access-Control-Allow-Origin *
    Access-Control-Allow-Methods “GET, POST, OPTIONS”
    -Server
    }
    fastcgi / 127.0.0.1:9000 php {
    index index.php
    }
    rewrite {
    to {path} {path}/ /index.php?{query}
    }

6-10 行的 header 指令代表為所有的 /api/xxx 的請求加上 Access-Control-Allow-Origin 和 Access-Control-Allow-Methods 這兩個(gè) header,從而能支持 javascript 跨域訪問 ,,第 9 行代表刪除 Server header,,防止別人看到服務(wù)器類型。

11-13 行使用了 fastcgi 指令,,代表把請求通過 fastcgi 傳給 php,,ruby 等后端程序。

14-15 行,,使用了 rewrite 指令,,這個(gè)指令的作用是 服務(wù)器內(nèi)部重定向 在下面的參數(shù) to 后面,又跟了三個(gè)參數(shù),,這個(gè)功能上有點(diǎn)類似 nginx 的 try_files ,。告訴 caddy 需要先查看網(wǎng)址根目錄 /var/www 里有沒有 {path} 對應(yīng)的文件,如果沒有再查看有沒有 {path} 對應(yīng)的目錄,,如果都沒有,,則轉(zhuǎn)發(fā)給 index.php 入口文件。這個(gè)功能一般會用在 PHP 的 MVC 框架上使用,。

2.6 多域名網(wǎng)站

上面說的都是單個(gè)域名的網(wǎng)址,,那么如果在同一個(gè)服務(wù)器上部署多個(gè)域名的網(wǎng)站呢?很簡單,只需要在域名后面跟一個(gè)花括號擴(kuò)起來就可以了,,如下:

  • {
    gzip
    log /var/log/caddy/wzfou_com.log
    tls [email protected]
    root /var/www/
    header /api {
    Access-Control-Allow-Origin *
    Access-Control-Allow-Methods “GET, POST, OPTIONS”
    -Server
    }
    fastcgi / 127.0.0.1:9000 php {
    index index.php
    }
    rewrite {
    to {path} {path}/ /index.php?{query}
    }
    }
    {
    tls [email protected]
    log /var/log/caddy/wzfou_com.log
    redir / https:///{uri} 301
    }

基本的 caddy 配置就這些,,更多的內(nèi)容需要查閱官網(wǎng)文檔:

https:///docs。

三,、Caddy一鍵建站腳本

看了上面的Caddy的配置,,有朋友可能覺得有沒有一鍵建站的Caddy腳本呢?

3.1 Caddy-Web-Server-Installer

項(xiàng)目地址:https://github.com/sayem314/Caddy-Web-Server-Installer

系統(tǒng)要求:Ubuntu 14.x,、15.x,、16.x,Debian 7.x,、8.x,、9.x,CentOS 6.8,、7.2,。

運(yùn)行以下命令:wget https:///vra5C -O – -o /dev/null|bash

然后使用下列命令進(jìn)行操作:

  • caddy start #開啟Caddy Web Server
    caddy stop #停止Caddy Web Server
    caddy reload #重載Caddy Web Server
    caddy restart #重啟Caddy Web Server
    caddy status #查看Caddy Web Server狀態(tài)
    caddy install #安裝Caddy Web Server
    caddy edit #編輯配置文件Caddyfile
    caddy service #使Caddy Web Server成為一項(xiàng)服務(wù)(upstart/systemd)
    caddy update #升級Caddy Web Server
    caddy delete #卸載Caddy and data
    caddy about #關(guān)于Caddy Web Server
    caddy version #檢測腳本/Caddy/PHP5-fpm版本信息

安裝插件命令:

  • caddy install http.cache,http.filemanager,http.ipfilter,http.ratelimit

安裝caddy的時(shí)候會要求你輸入域名,郵箱(幫你自動簽發(fā)ssl),,然后使用命令啟動caddy即可,!

  • 虛擬主機(jī)文件夾:/var/caddywww
    配置文件夾:/etc/Caddyfile

這是安裝成功的界面:

安裝成功后重啟Caddy服務(wù)。

 

最后,,打開你的域名,,你就可成功看到Web頁面了。

執(zhí)行:caddy edit就可以編輯配置文件了,,默認(rèn)的配置如下:

這是caddy安裝的PHP,。

3.2 Caddy FileManager安裝腳本

Caddy 有一個(gè)擴(kuò)展FileManager,你可以單獨(dú)安裝,,這里介紹一個(gè)Caddy FileManager快速部署的腳本,,功能沒有上面的Caddy-Web-Server-Installer豐富,比較適合利用Caddy FileManager搭建網(wǎng)盤,。

運(yùn)行以下命令:

  • wget -N –no-check-certificate https://raw./ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager
    #備用地址
    wget -N –no-check-certificate https://www./usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

安裝成功后,,繼續(xù)新建一個(gè)用于使用的虛擬主機(jī)文件夾,例如file(可以自己改):

  • mkdir /usr/local/caddy/www && mkdir /usr/local/caddy/www/file

1,、IP訪問

  • 綁定虛擬主機(jī)為IP(即通過IP訪問),,HTTP協(xié)議(80端口)。
  • # 以下全部內(nèi)容是一個(gè)整體,,是一個(gè)命令,,全部復(fù)制粘貼一起執(zhí)行!
    echo “:80 {
    root /usr/local/caddy/www/file
    timeouts none
    gzip
    filemanager / /usr/local/caddy/www/file {
    database /usr/local/caddy/filemanager.db
    }
    }” > /usr/local/caddy/Caddyfile

2,、域名HTTP訪問

本示例是,綁定虛擬主機(jī)為域名(即通過域名訪問),HTTP協(xié)議(80端口),。

  • # 以下全部內(nèi)容是一個(gè)整體,,是一個(gè)命令,全部復(fù)制粘貼一起執(zhí)行(注意替換示例域名),!
    echo “http:// {
    root /usr/local/caddy/www/file
    timeouts none
    gzip
    filemanager / /usr/local/caddy/www/file {
    database /usr/local/caddy/filemanager.db
    }
    }” > /usr/local/caddy/Caddyfile

3,、域名HTTPS訪問

本示例是,綁定虛擬主機(jī)為域名(即通過域名訪問),,HTTPS協(xié)議(443端口),。

如果你有SSL證書和密匙的話,把SSL證書(xxx.crt)和密匙(xxx.key)文件放到/root文件夾下(也可以是其他文件夾,,自己改下面代碼),,然后這樣做:

  • # 以下全部內(nèi)容是一個(gè)整體,是一個(gè)命令,,全部復(fù)制粘貼一起執(zhí)行(注意替換示例域名),!
    echo “https:// {
    root /usr/local/caddy/www/file
    timeouts none
    tls /root/xxx.crt /root/xxx.key
    gzip
    filemanager / /usr/local/caddy/www/file {
    database /usr/local/caddy/filemanager.db
    }
    }” > /usr/local/caddy/Caddyfile

如果你沒有SSL證書和密匙,那么你可以這樣做:

下面的[email protected]改成你的郵箱,,同時(shí)需要注意的是,,申請SSL證書前,請務(wù)必提前解析好域名記錄(解析后最好等一會,,以全球生效),,否則Caddy會申請并配置失敗,!

  • # 以下全部內(nèi)容是一個(gè)整體,,是一個(gè)命令,全部復(fù)制粘貼一起執(zhí)行(注意替換示例域名),!
    echo “https:// {
    root /usr/local/caddy/www/file
    timeouts none
    tls [email protected]
    gzip
    filemanager / /usr/local/caddy/www/file {
    database /usr/local/caddy/filemanager.db
    }
    }” > /usr/local/caddy/Caddyfile

 

4,、域名HTTP重定向HTTPS

本示例是,域名HTTP重定向?yàn)镠TTPS,。當(dāng)你是手動指定SSL證書和密匙 來配置的話,,Caddy只會監(jiān)聽443端口(https),并不會自動設(shè)置80端口(http)的重定向,,如果要做重定向的話,,可以這樣做:

下面的示例代碼中,是把http://重定向到了https://,。

  • # 以下全部內(nèi)容是一個(gè)整體,,是一個(gè)命令,全部復(fù)制粘貼一起執(zhí)行(注意替換示例域名),!
    echo “http:// {
    timeouts none
    redir https://{url}
    }
    https:// {
    root /usr/local/caddy/www/file
    timeouts none
    tls /root/xxx.crt /root/xxx.key
    gzip
    filemanager / /usr/local/caddy/www/file {
    database /usr/local/caddy/filemanager.db
    }
    }” > /usr/local/caddy/Caddyfile

當(dāng)你已經(jīng)配置完上面步驟后,,那就需要啟動Caddy了,。

  • /etc/init.d/caddy start
    # 如果啟動失敗可以看Caddy日志: tail -f /tmp/caddy.log

Caddy 使用說明:

  • 啟動:/etc/init.d/caddy start
  • 停止:/etc/init.d/caddy stop
  • 重啟:/etc/init.d/caddy restart
  • 查看狀態(tài):/etc/init.d/caddy status
  • 查看Caddy啟動日志: tail -f /tmp/caddy.log
  • Caddy配置文件位置:/usr/local/caddy/Caddyfile
  • Filemanager數(shù)據(jù)庫位置:/usr/local/caddy/filemanager.db

最后就可以通過ip訪問filemanager了,用戶名和密碼均為admin,。如下圖:

這是filemanager的界面,。

 

這是網(wǎng)盤的文件管理界面。(點(diǎn)擊放大)

可以直接在線預(yù)覽圖片,。(點(diǎn)擊放大)

也可以在線插入音頻,、視頻等。

也可以在線插入音頻,、視頻等,。

四、總結(jié)

用Caddy作為Web服務(wù)器,,從安裝與運(yùn)行幾乎只需要幾分鐘的時(shí)間,,當(dāng)然Caddy也可以像nginx那樣實(shí)現(xiàn)緩存、鏡像等,,Caddy的配置規(guī)則也比較簡單,,你只需要花上幾分鐘的時(shí)間學(xué)習(xí)官網(wǎng)的文檔就可以自己“依葫蘆畫瓢”了。

Caddy會自動簽發(fā)Let’s Encrypt免費(fèi)證書,,但是你需要先把域名解析到服務(wù)器上,,否則你在添加虛擬主機(jī)時(shí)會出現(xiàn)錯(cuò)誤。關(guān)于能否將Caddy用作正式的生產(chǎn)環(huán)境,,目前來看還是有待商榷的,,但是Caddy用為簡單的Http服務(wù)器是沒有問題的。

 

 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多