自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

不務(wù)正業(yè),搗鼓了一個(gè)破網(wǎng)站,全過(guò)程記錄

開(kāi)發(fā) 架構(gòu)
在互聯(lián)網(wǎng)領(lǐng)域,我也是一名門外漢。所以就拋棄了很多現(xiàn)代的、方便的工具,從最基本的html、javascript、css開(kāi)始,一步一個(gè)腳印的把一個(gè)靜態(tài)的個(gè)人網(wǎng)站給攢起來(lái)。

這篇文章沒(méi)有什么關(guān)于嵌入式的干貨,僅僅是詳細(xì)記錄一下前段時(shí)間搗鼓的一個(gè)靜態(tài)的個(gè)人網(wǎng)站。

最近都沒(méi)有想到什么好的文章方向,下一階段想把之前對(duì)Lua語(yǔ)言的學(xué)習(xí)心得總結(jié)一下,實(shí)現(xiàn)一個(gè)基于插件機(jī)制的物聯(lián)網(wǎng)網(wǎng)關(guān)。

或者再稍微往工業(yè)領(lǐng)域上走一些,實(shí)現(xiàn)一個(gè)可以二次開(kāi)發(fā)的工業(yè)網(wǎng)關(guān)。

目前只是有這個(gè)模糊的想法,具體做成什么樣子還有待更詳細(xì)的計(jì)劃。

寫(xiě)這個(gè)網(wǎng)關(guān)的目的有兩個(gè):

通過(guò)Lua語(yǔ)言來(lái)深入的理解一門【語(yǔ)言】,而不僅僅是使用一門語(yǔ)言。

實(shí)現(xiàn)一個(gè)基本上可以在生產(chǎn)環(huán)節(jié)可用的代碼模型。

這兩個(gè)目的基本上符合我的定位:讓有意思的事情變得更有意義。

言歸正傳,回到這篇文章的主題:從頭開(kāi)始,一步一步搭建一個(gè)靜態(tài)的個(gè)人網(wǎng)站。

為什么會(huì)有這個(gè)網(wǎng)站

作為一個(gè)嵌入式軟件開(kāi)發(fā)者來(lái)說(shuō),搭一個(gè)網(wǎng)站有點(diǎn)是不務(wù)正業(yè)的。

但是作為一名廣義上的程序員,又經(jīng)常對(duì)互聯(lián)網(wǎng)領(lǐng)域的一些技術(shù)心生向往,于是就有了這個(gè)破網(wǎng)站。

最主要的初衷是:

在工作的過(guò)程中,經(jīng)常需要參考一些常用的工具,比如:

  • 查找ASCII碼;
  • 查詢 shell 指令;
  • 時(shí)間戳轉(zhuǎn)換;
  • 格式化 Json/xml 等文檔;
  • 。。。

每次在遇到上面這些需求時(shí),總是需要去麻煩搜索引擎;即使把一些工具站點(diǎn)保存在收藏夾中,還需要按照分類區(qū)點(diǎn)擊、打開(kāi)。

所以我就想:是否可以寫(xiě)一個(gè)簡(jiǎn)單的、靜態(tài)的頁(yè)面,把自己經(jīng)常使用的工具、鏈接都放進(jìn)去,每次需要使用的時(shí)候,就打開(kāi)這個(gè)頁(yè)面就可以了。

換句話說(shuō),這個(gè)網(wǎng)站的最大作用就是:工具導(dǎo)航。

市面上也有很多這樣的工具導(dǎo)航網(wǎng)站的。

后來(lái)發(fā)現(xiàn),我也會(huì)經(jīng)常去翻一下自己寫(xiě)的文章,于是就把所有的文章進(jìn)行分類,然后也放到網(wǎng)站上。

于是,我就開(kāi)始用三腳貓的web技術(shù)搗鼓這個(gè)網(wǎng)站...

我們知道,現(xiàn)在已經(jīng)有很多現(xiàn)成的一鍵建站工具了,就像黑盒測(cè)試一下,我們只需要把自己的資料按照指定的格式、流程輸入進(jìn)去,一個(gè)漂亮的頁(yè)面就立刻出現(xiàn)在面前。

但是作為一名軟件開(kāi)發(fā)者,還是希望能夠偷窺一下這里面的一些細(xì)節(jié)。

在互聯(lián)網(wǎng)領(lǐng)域,我也是一名門外漢。所以就拋棄了很多現(xiàn)代的、方便的工具,從最基本的html、javascript、css開(kāi)始,一步一個(gè)腳印的把一個(gè)靜態(tài)的個(gè)人網(wǎng)站給攢起來(lái)。

如果要部署一個(gè)動(dòng)態(tài)網(wǎng)站,那需要掌握的東西就多了去了:java、jsp、maven、mysql、mybatis、spring那一套。

當(dāng)然,為了避免最后的結(jié)果太難看,我也充分地“借鑒”了bootstrap前端開(kāi)發(fā)框架,因?yàn)樗?jiǎn)潔、直觀、強(qiáng)悍,并且提供了很多免費(fèi)的、漂亮的主題框架。

預(yù)覽幾個(gè)頁(yè)面

網(wǎng)站的缺陷

在貼出頁(yè)面之前,先說(shuō)一下幾個(gè)缺點(diǎn):

  • 圖片太多,導(dǎo)致加載的速度太慢。

我已經(jīng)把所有的圖片放在七牛的圖床上了,也啟用了CDN節(jié)點(diǎn)來(lái)緩存頁(yè)面,但是其中有幾個(gè)大圖片影響了加載速度。

下面是PageSpeed Insights對(duì)網(wǎng)站的測(cè)試結(jié)果:

圖片

圖片

從測(cè)試結(jié)果中可以看到,主要還是圖片惹的禍。

我已經(jīng)把所有的圖片換成.webp格式了,但是其中幾張大的圖片影響了加載速度。我也不準(zhǔn)備優(yōu)化了,因?yàn)橄旅娴?個(gè)原因。

  • 添加新的內(nèi)容時(shí),操作步驟太多。

前文說(shuō)過(guò),這個(gè)網(wǎng)站的主要目的還是自用,所以會(huì)經(jīng)常添加新的內(nèi)容,比如:看到了特別棒的網(wǎng)站,需要把鏈接添加進(jìn)去。

由于在網(wǎng)站導(dǎo)航布局中,為了美化一下,使用一個(gè)小圖片放在站點(diǎn)上。

因此每次添加時(shí),需要下面幾個(gè)步驟才能完成:

  • 對(duì)目標(biāo)網(wǎng)站進(jìn)行截圖;
  • 把png格式的圖片轉(zhuǎn)成 .webp 格式;
  • 把圖片傳入到七牛的圖床上(需要登錄、打開(kāi)目標(biāo)位置、選圖片、上傳);
  • 修改靜態(tài)的html頁(yè)面;
  • 上傳到web服務(wù)器;
  • 更新CDN緩存節(jié)點(diǎn)內(nèi)容;

以上這個(gè)步驟想想都覺(jué)得很煩,而且無(wú)法用自動(dòng)化的腳本來(lái)實(shí)現(xiàn)。

基于以上這些原因,后面會(huì)重新部署一下,還是以實(shí)用主義為主。

不管怎樣,這里還是把目前網(wǎng)站的頁(yè)面貼幾張截圖,下個(gè)月可能就被撤掉了,以后也能偶爾回憶一下~~

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片

網(wǎng)站搭建過(guò)程

1. 服務(wù)器

如果把站點(diǎn)部署在公網(wǎng)上,肯定需要買一個(gè)服務(wù)器。

國(guó)內(nèi)的話就那么三家,選擇便宜、文檔、使用人數(shù)多的買就行了。

我使用的服務(wù)器是之前一個(gè)項(xiàng)目中用來(lái)測(cè)試MQTT性能的,后來(lái)廢棄不用了,第一年費(fèi)用不到一百元。

圖片

購(gòu)買服務(wù)器的時(shí)候,需要選擇操作系統(tǒng),這里使用的是Ubuntu18.04。

2. 域名

為了便于記憶,最好注冊(cè)一個(gè)域名。

現(xiàn)在的域名很便宜,普通的域名大概30元/年,主要就是域名備案需要花一些時(shí)間。

現(xiàn)在備案方便多了,直接在手機(jī)上就可以完成。

很久以前的備案,還需要郵寄一塊背景幕布,專門用來(lái)拍照用。

域名備案完成之后,就可以綁定購(gòu)買的服務(wù)器IP地址了,也就是域名解析。

圖片

順便把80端口也打開(kāi),因?yàn)橄旅嫘枰ㄟ^(guò)這個(gè)端口來(lái)訪問(wèn)站點(diǎn)。

圖片

3. html + js + css

因?yàn)槟繕?biāo)是一個(gè)靜態(tài)網(wǎng)站,所以基本上粗略的掌握上面這三部分的知識(shí)點(diǎn)就足夠了。

另外,為了美化一下界面,使用了bootstrap這個(gè)前端框架,而且它還提供了很多漂亮的模板。

于是,在攢的過(guò)程中,我就把每一個(gè)模板中被我使用的部分摘抄出來(lái),組裝在一起,形成了最后的界面。

下面這張圖是文件結(jié)構(gòu):

圖片

在寫(xiě)代碼的時(shí)候,使用的軟件是WebStorm,我覺(jué)得挺好用!

4. 圖片轉(zhuǎn)換

很多網(wǎng)站使用的圖片都是webp?格式,它的圖像壓縮算法比較好,有更小的文件體積,而且保持很高的圖片質(zhì)量,支持Alpha透明以及動(dòng)畫(huà)等特點(diǎn)。

這里主要貼一下如何是用谷歌轉(zhuǎn)換工具,批量的把png?格式的圖片轉(zhuǎn)換成webp格式。

以下步驟是在MAC下操作

(1) 下載libwebp的庫(kù)

brew install webp

(2) 下載轉(zhuǎn)換工具,解壓

libwebp-0.6.0-mac-10.12.tar.gz

下載地址:https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html

(3) 轉(zhuǎn)換單張圖片

./cwebp -lossless 輸入圖像路徑 -o 輸出圖像路徑

(4) 批量轉(zhuǎn)換多張圖片

#!/bin/bash

CMD=/<絕對(duì)路徑>/libwebp-0.6.0-mac-10.12/bin/cwebp

for file in *.png
do
${CMD} -lossless "$file" -o "${file%.*}.webp"
done

5. 安裝 web 服務(wù)器

可選的web?服務(wù)器有很多,常用的有tomcat、apache、nginx,當(dāng)然還有很多其它的選擇,都有各自的特點(diǎn)。

感興趣的朋友可以去搜一下它們各自使用的場(chǎng)景,我最后選擇的時(shí)nginx,安裝命令很簡(jiǎn)單:

sudo apt-get install nginx

安裝好的文件位置:

  • /usr/sbin/nginx:主程序
  • /etc/nginx: 配置文件
  • /usr/share/nginx:靜態(tài)文件
  • /var/log/nginx: 日志

當(dāng)然,如果要更清楚 Nginx?的配置項(xiàng)放在什么地方,可以打開(kāi)文件/etc/nginx/nginx.conf 看一下。

如果想手動(dòng)安裝的話,步驟如下:

sudo apt-get install libpcre3 libpcre3-dev
apt-get install openssl
apt-get install zlib1g-dev
wget http://nginx.org/download/nginx-1.11.3.tar.gz
cd nginx-1.11.3/
./configure
make
make install

啟動(dòng)、停止服務(wù)的相關(guān)命令:

sudo service nginx {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade}

在啟動(dòng)nginx?之后,就可以在瀏覽器中測(cè)試一下安裝是否成功,如果一切順利的話,可以看到nginx的默認(rèn)頁(yè)面。

6. 站點(diǎn)部署

最簡(jiǎn)單的操作,就是直接把本地寫(xiě)好的站點(diǎn)代碼直接推送到/var/www/html目錄下即可。

為了更靈活的部署(比如:在一個(gè)服務(wù)器上部署多個(gè)站點(diǎn)),最好創(chuàng)建站點(diǎn)獨(dú)立的目錄。

nginx?的配置文件位于:/etc/nginx,如下所示:

圖片

比較重要的是目錄sites-available和sites-enabled。

目錄中包括:

圖片

請(qǐng)忽略這里的 https,那是為了測(cè)試 ssl 訪問(wèn)而設(shè)置的。

配置文件:/etc/nginx/sites-available/linuxbar.net的內(nèi)容是:

圖片

也就是說(shuō):所有的文件是放在/var/www/linuxbar.net/html目錄下。

因此創(chuàng)建這個(gè)文件,并且把步驟3中的所有文件推送到這個(gè)目錄下即可,最終部署的所有文件如下:

圖片

小結(jié)

完成以上步驟之后,就可以在本地瀏覽器中輸入域名,然后就可以看到漂亮的網(wǎng)站了!

7. 使用圖床

在上面的第6步中,把所有的文件都放在了站點(diǎn)中,包括圖片文件。

當(dāng)瀏覽器訪問(wèn)站點(diǎn)的時(shí)候,所有的文件(特別是圖片)都直接從web服務(wù)器的鏈路里獲取,浪費(fèi)流量。

可以利用一些免費(fèi)的圖床來(lái)存放圖片文件,瀏覽器獲取html?文件之后,加載圖片時(shí),就從圖床中獲取圖片文件,大大減少了web服務(wù)器的壓力。

我使用的是七牛的圖床,因此把所有圖片上傳到圖床上,然后把html文件中對(duì)圖片的鏈接全部修改一下就可以了。

當(dāng)然了,也可以選擇其他的圖床工具,很多免費(fèi)的(收費(fèi)的也很便宜)。

8. 使用 CDN 加速

在上面第二步:綁定域名和IP?地址的時(shí)候,使域名直接解析到對(duì)應(yīng)的web?服務(wù)器所在的IP地址。

可以利用CDN域名加速功能,來(lái)提升訪問(wèn)速度,提高用戶體驗(yàn)。設(shè)置如下:

圖片

配置完成之后,會(huì)得到一個(gè)cname?,然后在域名解析設(shè)置中把域名指向這個(gè)cname即可:

圖片

完成這個(gè)設(shè)置之后,在瀏覽器中輸入域名,將會(huì)訪問(wèn)CDN節(jié)點(diǎn)。

當(dāng)然了,如果節(jié)點(diǎn)中沒(méi)有內(nèi)容,將會(huì)訪問(wèn)web服務(wù)器,把最新的頁(yè)面緩存起來(lái),然后再返回給瀏覽器。

總結(jié)

這篇文章從一個(gè)初學(xué)者的角度,來(lái)描述如何從零開(kāi)始建一個(gè)靜態(tài)頁(yè)面的個(gè)人網(wǎng)站。

責(zé)任編輯:武曉燕 來(lái)源: IOT物聯(lián)網(wǎng)小鎮(zhèn)
相關(guān)推薦

2015-10-29 10:31:01

Android開(kāi)發(fā)微軟

2012-08-08 17:24:33

SCO

2012-03-01 17:40:47

百卓網(wǎng)絡(luò)Smart

2021-09-30 09:45:03

人工智能語(yǔ)言模型技術(shù)

2011-02-22 10:46:02

Samba配置

2009-04-23 10:04:55

2009-12-08 17:56:16

WCF配置

2011-04-18 15:56:10

軟件測(cè)試

2011-09-06 15:38:20

QT安裝

2011-01-21 17:51:52

2009-04-13 12:37:18

2009-06-10 16:55:42

cygwin netb安裝

2010-03-01 17:01:03

Python編程技巧

2010-03-10 13:24:45

Zend Debugg

2010-06-17 13:10:09

Linux Grub修

2010-11-19 10:11:49

Oracle物化視圖

2012-11-06 10:19:18

Java自定義加載Java類

2011-03-11 10:39:02

YUM安裝LAMP

2010-07-21 14:51:19

telnet-serv

2019-05-14 15:27:31

MongoDB自動(dòng)備份數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)