成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

搭建個(gè)人開發(fā)者云主機(jī)全過程-新云主機(jī)一步到位配置指南-免費(fèi)HTTPS網(wǎng)關(guān)【小公司同樣適用】【持續(xù)更新

ymyang / 1729人閱讀

摘要:本文是筆者實(shí)踐總結(jié)的技巧,介紹搭建云主機(jī)的方法,主要基于部署系列服務(wù)。從個(gè)人開發(fā)者需求出發(fā),一步一步搭建自己的服務(wù)。虛擬內(nèi)存的大小,一般不要超過當(dāng)前內(nèi)存大小,筆者選購(gòu)的云主機(jī)是內(nèi)存,所以設(shè)置虛擬內(nèi)存。如果使用阿里云,在網(wǎng)頁后臺(tái)可以進(jìn)行配置。

0x00

本文是筆者實(shí)踐總結(jié)的技巧,介紹搭建云主機(jī)的方法,主要基于Docker部署系列服務(wù)。從個(gè)人開發(fā)者需求出發(fā),一步一步搭建自己的服務(wù)。
本文適合兜里沒很多?又希望擁有屬于自己的云服務(wù)的開發(fā)者,完成下面的操作,需要基本的Linux使用技能。

說明

由于使用#做注釋,所有命令行使用$做前綴,表示當(dāng)前是一行命令

選購(gòu)云主機(jī) 云主機(jī)品牌選擇

云主機(jī)國(guó)內(nèi)很多平臺(tái)可以購(gòu)買,騰訊的,阿里的,網(wǎng)易的等等,可根據(jù)自己的喜好進(jìn)行選擇,筆者選擇的是阿里云。

云主機(jī)配置選擇

選擇好云主機(jī)品牌以后,需要選購(gòu)云主機(jī)了,云主機(jī)配置越高價(jià)格越貴,筆者選擇的是最低配的配置單核CPU1GB內(nèi)存,1M帶寬,活動(dòng)價(jià)購(gòu)買的330RMB一年,經(jīng)測(cè),可以穩(wěn)定運(yùn)行后面提到的所有服務(wù)。人民幣玩家可以選購(gòu)更高的配置。
筆者購(gòu)買的服務(wù)器是活動(dòng)套餐,包含了1M帶寬,所以不另外選擇。如果是直接購(gòu)買,建議個(gè)人開發(fā)者可以帶寬選擇按量計(jì)費(fèi),去年一年下來用不了幾塊錢,而1M帶寬一年200+。

操作系統(tǒng)選擇

這個(gè)可根據(jù)自己的使用習(xí)慣進(jìn)行選擇,下面的操作都是基于Ubuntu 16.04 x64進(jìn)行操作,如果大家跟著輸入命令,建議使用選擇一樣的系統(tǒng)。
我個(gè)人更喜歡Ubuntu,因?yàn)楦綆У拿钚泄ぞ呤褂闷饋肀容^便捷,默認(rèn)情況下的配置就很好,只需要很少的配置改動(dòng),用戶體驗(yàn)比較好。

系統(tǒng)基本安裝配置 配置免密碼登錄

本地主機(jī)操作:

# 檢查公鑰是否存在
$ cat ~/.ssh/id_rsa.pub

看到一長(zhǎng)串字符串輸出,這個(gè)是你本地電腦的公鑰,將它復(fù)制到粘貼板。如果看不到任何輸出,則輸入下面的命令生成,注意備份這兩個(gè)文件:~/.ssh/id_rsa ~/.ssh/id_rsa.pub 如果你還不知道這兩個(gè)文件是什么,趕緊百度學(xué)習(xí)。知道他們是什么很很很很很很很很很很很重要。

# 一直按回車就可以了
$ ssh-keygen

連接到云主機(jī),配置信任公鑰

# xx.xx.xx.xx表示你的云主機(jī)公網(wǎng)IP,此時(shí)還需要輸入密碼才能連接
$ ssh [email protected]
$ mkdir ~/.ssh
# 把粘貼板里面的公鑰粘貼到~/.ssh/authorized_keys文件內(nèi)【文件不存在vi會(huì)自動(dòng)創(chuàng)建】
$ vi ~/.ssh/authorized_keys
# 設(shè)置正確的權(quán)限,只有權(quán)限正確,才會(huì)生效
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys

驗(yàn)證配置

# 退出剛剛的連接回到本地電腦
$ exit
# 重新連接,如果此時(shí)不需要輸入密碼就能連接成功,配置正確進(jìn)入下一步,如果配置失敗請(qǐng)回到上一步仔細(xì)檢查操作是否正確
$ ssh [email protected]

請(qǐng)務(wù)必確保已經(jīng)驗(yàn)證配置的正確性再進(jìn)行下面的步驟,否則可能導(dǎo)致關(guān)閉ssh密碼登錄后你無法連接到云主機(jī)

關(guān)閉ssh密碼登錄
# 編輯sshd配置文件
# 找到其中的兩個(gè)參數(shù)配置:
# PasswordAuthentication
# ChallengeResponseAuthentication
# 將這兩個(gè)參數(shù)值修改為no:
# PasswordAuthentication no
# ChallengeResponseAuthentication no
$ vi /etc/ssh/sshd_config
# 重啟服務(wù)
$ service sshd restart

至此,你再也不用擔(dān)心ssh會(huì)被黑客破解了,只有擁有你本地電腦密匙對(duì)的人才可以遠(yuǎn)程登錄到云主機(jī)。

安裝oh-my-zsh提高命令行效率(可選)

ho-my-zsh是一個(gè)很火爆的開源工具在github上star數(shù)5W+,可以顯著提高命令行操作的效率,非常推薦大家安裝使用,詳細(xì)了解請(qǐng)?jiān)L問項(xiàng)目地址:
https://github.com/robbyrusse...

$ apt-get install zsh
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
配置虛擬內(nèi)存

由于我選購(gòu)的主機(jī)內(nèi)存比較低,降低系統(tǒng)完全卡死的概率,需要掛載一個(gè)虛擬內(nèi)存。
虛擬內(nèi)存的大小,一般不要超過當(dāng)前內(nèi)存大小,筆者選購(gòu)的云主機(jī)是1GB內(nèi)存,所以設(shè)置1GB虛擬內(nèi)存。

# 創(chuàng)建虛擬內(nèi)存文件
$ dd if=/dev/zero of=/mnt/swap bs=1024 count=1048576
# 格式化虛擬內(nèi)存文件
$ mkswap /mnt/swap
# 掛載虛擬內(nèi)存
$ swapon /mnt/swap
# 檢查虛擬內(nèi)存掛載成功
$ free -h
              total        used        free      shared  buff/cache   available
Mem:           992M        476M         77M        3.9M        438M        345M
Swap:          1.0G          0B        1.0G
# 配置重啟電腦后自動(dòng)掛載虛擬內(nèi)存
# 添加以下內(nèi)容到/ect/fstab文件
# /mnt/swap swap swap defaults 0 0
$ vi /etc/fstab
防火墻疑問

為什么不開啟防火墻,因?yàn)镈ocker跟防火墻有沖突,某些情況下會(huì)導(dǎo)致防火墻失效,為了配置方便,系統(tǒng)內(nèi)不開啟防火墻,直接使用云主機(jī)提供商提供的防火墻進(jìn)行端口防護(hù)。如果使用阿里云,在網(wǎng)頁后臺(tái)可以進(jìn)行配置。

域名配置(可選) 域名選購(gòu)

域名購(gòu)買的渠道很多,com域名比較貴,cn域名性價(jià)比最高,筆者買的是cn域名,10年,費(fèi)用300+RMB

DNS配置

DNS配置一個(gè)A記錄*指向主機(jī)公網(wǎng)IP即可。

DNS服務(wù)商,可以選用域名購(gòu)買放的配置后臺(tái),也可以轉(zhuǎn)到別的平臺(tái)上配置,騰訊家的DNSPod配置簡(jiǎn)單易用,所以筆者一直在用這個(gè)。
DNS配置好了以后,后面ssh連接就可以直接使用域名連接了,不需要記憶晦澀的IP地址了。

Docker安裝部署配置 Docker安裝

本來Docker官方安裝步驟比較多,而且服務(wù)器在國(guó)外,速度非常慢。還好,阿里工程師做了國(guó)內(nèi)景象,并且寫好了一鍵安裝腳本,一行命令搞定。
另外,國(guó)內(nèi)的DaoCloud也提供類似的鏡像服務(wù)https://download.daocloud.io/...,也可加速安裝過程。

$ curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
安裝Docker Compose

這里用的是DaoCloud的鏡像加速下載,當(dāng)然也可到源項(xiàng)目地址里面下載,只是速度略慢:
https://github.com/docker/com...

$ curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
docker pull 加速

在國(guó)內(nèi)從Docker官方服務(wù)器拉取鏡像,速度非常慢,還好國(guó)內(nèi)很多公司做了免費(fèi)的加速鏡像,阿里云、DaoCloud都有提供這樣的免費(fèi)服務(wù)。

針對(duì) Ubuntu 15.04 16.04 的用戶,下面的配置里面,最關(guān)鍵的是加速地址https://xxxx.mirror.aliyuncs.com,使用阿里云的話,需要登錄阿里云后臺(tái)以后,訪問以下地址即可獲取到:
https://cr.console.aliyun.com...
DaoCloud在這里獲?。?br>https://www.daocloud.io/mirro...

$ mkdir -p /etc/systemd/system/docker.service.d
$ tee /etc/systemd/system/docker.service.d/mirror.conf <<-"EOF"
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --registry-mirror=https://xxxx.mirror.aliyuncs.com
EOF
$ systemctl daemon-reload
$ systemctl restart docker
部署HTTP網(wǎng)關(guān)(使用caddy,支持https) 背景

說起HTTP網(wǎng)關(guān),大家聽到過最多的,我想應(yīng)該是 nginx apache,這兩個(gè)軟件確實(shí)是穩(wěn)定、功能強(qiáng)大,并且大家都比較熟悉,但是,唯一的問題是,他們的配置實(shí)在是太太太太太太太太太繁瑣了,配置文件可以寫得很長(zhǎng),老鳥也需要備份一些常用配置片段,菜鳥們更是經(jīng)常被一堆配置嚇到,亦或是因?yàn)橐稽c(diǎn)點(diǎn)配置細(xì)節(jié)沒注意到耽誤了一個(gè)下午。

當(dāng)我們的站點(diǎn)需要支持HTTPS時(shí),還需要額外弄到證書,購(gòu)買或者申請(qǐng)免費(fèi)的Let"s Encrypt,并且我們還得關(guān)注證書是否已經(jīng)過期,我偶爾也會(huì)看到一些站點(diǎn),因?yàn)樽C書過期,瀏覽器提示訪問不安全。

解決方案

為了解決上面提到的問題,我們請(qǐng)出今天的主角Caddy Server

主要特點(diǎn)

默認(rèn)開啟HTTPS,自動(dòng)管理HTTPS證書(利用Let"s Encrypt)

使用go語言開發(fā),單二進(jìn)制文件運(yùn)行,無任何依賴

非常適合初學(xué)者(老鳥用著也省心)

性能穩(wěn)定,可用于線上產(chǎn)品

默認(rèn)開啟 HTTP 2.0 支持

配置起來瘋狂地簡(jiǎn)單

HTTPS安全檢測(cè)

使用https://myssl.com進(jìn)行評(píng)估:
第一個(gè)是筆者的網(wǎng)站,直接使用Caddy的默認(rèn)配置,后面三個(gè)都是站點(diǎn)大家都認(rèn)識(shí),大家可以感受一下測(cè)試結(jié)果。使用Caddy,最少只需要一行配置,就可以擁有A級(jí)的HTTPS安全防護(hù)!

Caddyfile簡(jiǎn)介

Caddyfile是caddy的配置文件,詳細(xì)文檔查看這里https://caddyserver.com/docs/...

以下是一個(gè)Caddyfile示例,它的效果是,啟動(dòng)www.ineva.cn ineva.cn兩個(gè)靜態(tài)文件虛擬主機(jī),訪問這兩個(gè)站點(diǎn)時(shí),如果訪問的是http協(xié)議,會(huì)自動(dòng)跳轉(zhuǎn)到https,開啟HTTP2.0支持,網(wǎng)站資源文件在/www目錄下。

www.ineva.cn, ineva.cn {
  root /www
}

開啟gzip壓縮支持

www.ineva.cn, ineva.cn {
  gzip
  root /www
}

反向代理

api.ineva.cn {
  proxy / localhost:8080
}

反向代理,并且讓后端服務(wù)感知到客戶端

api.ineva.cn {
  proxy / localhost:8080 { transparent }
}

反向代理,并支持websocket

api.ineva.cn {
  proxy / localhost:8080 { websocket }
}
快速部署

文件清單

docker-compose.yml

官方的caddy docker鏡像,只有基本功能,找了個(gè)alpine版的zzrot/alpine-caddy,所有功能都編譯到里面了,并且包很小,下面是配置內(nèi)容

version: "2"

services:
  web:
    image: zzrot/alpine-caddy:v0.9.5
    restart: always
    network_mode: host

Caddyfile

ineva.cn需要改成你的域名

www.ineva.cn, ineva.cn {
  gzip
  proxy / localhost:8080 { transparent }
}

把上面兩個(gè)文件上傳到云主機(jī)/docker/caddy目錄

$ cd /docker/caddy
# 啟動(dòng)服務(wù)
$ docker-compose up

瀏覽器訪問你的域名,看看瀏覽器地址,恭喜你,已經(jīng)部署了自己的https服務(wù),但是由于你服務(wù)器8080端口上沒有開啟服務(wù),所以頁面應(yīng)該是看到500。

部署git服務(wù)(使用gogs) 背景介紹

git服務(wù)有很多選擇,除了大名鼎鼎的 https://github.com
國(guó)內(nèi)還有:
https://git.oschina.net
https://coding.net
上面的服務(wù)都是注冊(cè)賬號(hào)就可以使用的。但是說起自部署的git服務(wù),大家可能第一個(gè)想到的是
https://gitlab.com/
gitlab大法是好,并且也可以很容易用docker一鍵部署,但是它2G內(nèi)存起步的配置要求,單核1G內(nèi)存的低配主機(jī)表示吃不消。
gogs對(duì)配置要求極地,并且功能基本齊全,是非常好的選擇

gogs簡(jiǎn)介

開源項(xiàng)目地址:https://github.com/gogits/gogs

基于go開發(fā),單二進(jìn)制文件即可運(yùn)行

完全仿照gihub設(shè)計(jì),大部分功能都已經(jīng)完成了

對(duì)配置要求極地,下面是閑置時(shí)獲取的數(shù)據(jù)指標(biāo),內(nèi)存占用不到100M

    NAME                CID                 CPU                 MEM                 NET RX/TX           IO R/W              PIDS
 ?  gogs_gogs_1         655cea130d96                 0%              91M / 1.95G    12M / 74M           5.98G / 28M         17
安裝部署

/docker/gogs/docker-compose.yml

version: "2"

services:
  gogs:
    image: gogs/gogs:0.11.4
    restart: always
    ports:
      - "9002:9002"
      - "9003:9003"
    volumes:
      - ${PWD}/data:/data

/docker/gogs/data/gogs/conf/app.ini

配置文件需要自己修改一些關(guān)鍵值

APP_NAME:站點(diǎn)標(biāo)題
DOMAIN:域名
ROOT_URL:外部URL
SECRET_KEY:安全密碼

APP_NAME = Gogs
RUN_USER = git
RUN_MODE = prod

[database]
DB_TYPE  = sqlite3
HOST     = 127.0.0.1:3306
NAME     = gogs
USER     = root
PASSWD   =
SSL_MODE = disable
PATH     = data/gogs.db

[repository]
ROOT = /data/git/gogs-repositories

[server]
DOMAIN       = git.xxxxx.cn
HTTP_PORT    = 9002
ROOT_URL     = https://git.xxxxx.cn/
DISABLE_SSH  = false
SSH_PORT     = 9003
OFFLINE_MODE = false
START_SSH_SERVER = true

[mailer]
ENABLED = false

[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL     = false
DISABLE_REGISTRATION   = true
ENABLE_CAPTCHA         = true
REQUIRE_SIGNIN_VIEW    = true

[picture]
DISABLE_GRAVATAR = false

[session]
PROVIDER = file

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = /app/gogs/log

[security]
INSTALL_LOCK = true
SECRET_KEY   = xxxxxx

[other]
SHOW_FOOTER_BRANDING = false
SHOW_FOOTER_VERSION = false

啟動(dòng)服務(wù)

$ cd /docker/gogs
$ docker-compose up

瀏覽器訪問 http://git.xxxx.cn 搞定

懶人包 快捷系統(tǒng)備份還原

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26988.html

相關(guān)文章

  • 數(shù)人CTO解讀Docker 1.12和金融業(yè)容器化

    摘要:月日數(shù)人云在上海舉辦金融沙龍,邀請(qǐng)上交所和近二十家來自銀行保險(xiǎn)證券的技術(shù)專家一同探討容器技術(shù)在金融業(yè)中的最佳實(shí)踐。數(shù)人云肖德時(shí)在會(huì)上將傳統(tǒng)金融行業(yè)通過容器可以解決的四大問題做了逐一解讀。如何動(dòng)態(tài)的分配,就是剛才上交所介紹的一些治理的方法。 7月29日數(shù)人云在上海舉辦金融沙龍,邀請(qǐng)上交所和近二十家來自銀行、保險(xiǎn)、證券的IT技術(shù)專家一同探討容器技術(shù)在金融業(yè)中的最佳實(shí)踐。數(shù)人云CTO肖德時(shí)在...

    Gemini 評(píng)論0 收藏0
  • 超詳細(xì)新手建站指南

    摘要:基于上述,給大家?guī)硪话孢m合新手的建站指南,供大家參考建站指南建站三大必備條件域名主機(jī)空間虛機(jī)主機(jī)服務(wù)器建站程序無論你是自己建站還是外包第三方建站,都需要具備這三個(gè)要素才能建網(wǎng)站。目前阿里云的市場(chǎng)份額已經(jīng)在國(guó)內(nèi)占據(jù)過半。概述 對(duì)于一個(gè)建站新手來講,最重要的莫過于2件事 時(shí)間效率 性價(jià)比 換句話講,對(duì)于非專業(yè)選手,在整個(gè)建站過程,如何省時(shí)省力,用相對(duì)簡(jiǎn)單的方式,花更少的錢建好網(wǎng)站是關(guān)鍵。 ...

    Bryan 評(píng)論0 收藏0
  • 超詳細(xì)新手建站指南 讓你少走彎路

    摘要:基于上述,給大家?guī)硪话孢m合新手的建站指南,供大家參考建站指南建站三大必備條件域名主機(jī)空間虛機(jī)主機(jī)服務(wù)器建站程序無論你是自己建站還是外包第三方建站,都需要具備這三個(gè)要素才能建網(wǎng)站。目前阿里云的市場(chǎng)份額已經(jīng)在國(guó)內(nèi)占據(jù)過半。1.概述 對(duì)于一個(gè)建站新手來講,最重要的莫過于2件事 1.時(shí)間效率2.性價(jià)比換句話講,對(duì)于非專業(yè)選手,在整個(gè)建站過程,如何省時(shí)省力,用相對(duì)簡(jiǎn)單的方式,花更少的錢建好網(wǎng)站是關(guān)鍵...

    funnyZhang 評(píng)論0 收藏0
  • 新手超詳細(xì)建站指南(讓你少走彎路)

    摘要:目前阿里云的市場(chǎng)份額已經(jīng)在國(guó)內(nèi)占據(jù)過半。備案通過后,必須在網(wǎng)站底部掛上備案號(hào),并且加上指向工信部網(wǎng)站的鏈接部分服務(wù)商或者地區(qū)要求備案必須郵寄資料過去主要有真實(shí)性核驗(yàn)單和網(wǎng)絡(luò)安全協(xié)議書這兩份原件。1.概述 對(duì)于一個(gè)建站新手來講,最重要的莫過于2件事 1.時(shí)間效率 2.性價(jià)比換句話講,對(duì)于非專業(yè)選手,在整個(gè)建站過程,如何省時(shí)省力,用相對(duì)簡(jiǎn)單的方式,花更少的錢建好網(wǎng)站是關(guān)鍵。 基于上述,給大家...

    jifei 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

ymyang

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<