寫這系列文章的初衷是:對本身知識面廣度和深度的肯定,並以此調整後續的發展和學習方向。但願能達到溫故而知新的效果。php
選擇從建站入手,是由於這個是最多見的要求。對於公司而言,網站是展現公司主旨、業務、溝通方式、宣傳營銷的必選方案,一個符合公司形象的高質量官網,必然能讓客戶留下良好的第一印象。,對我的而言,博客是表達其特有的思想、展示技術實力、個性化等的有效手段,而我的網站對技術人員而言亦屬於有效的展現方案。雖然建站屬於最基礎的東西,但最基礎,不表明是最簡單的。html
做爲新時代的程序員,有一個屬於本身的獨特的域名,是一個很棒的感受。對一個公司而言,一個通俗易懂或好記的域名,也是至關重要的。node
對我而言,基本只接觸過 萬網 ,輸入心儀的域名,選擇時限,購買便可。固然,購買時注意,頂級域名——即域名後綴,如.com,.edu等——所表明的含義是不同的,具體請自行查閱,通常我的或公司均可以選用.com。python
固然,註冊網站的話,你得備案,這個有點麻煩。mysql
這裏假設你已經夠買了一臺雲服務器,有本身的固定IP,便可將主機IP添加到解析。相關原理有興趣請自行查找。webpack
解析類型通常爲A記錄
,即將域名指向一個IPv4地址(屬於本身的固定)。某些狀況下,也會使用CNAME
方式,將域名定向到另外一個域名別名。git
總不能讓別人記錄IP來訪問你的網站吧?程序員
具體並不困難,填寫對應參數便可。github
基本上,做爲技術人員的一點小驕傲,若非相關人手缺稀,且項目時間緊迫,通常而言是不會將這類業務給其餘人作的。web
若公司內沒有懂技術的人,通常都會選擇外包。
阿里雲、騰訊雲、百度雲,包括我沒提到的各大雲平臺,都有本身的雲市場,能夠從中獲取各類簡單或複雜的官網或博客建站方案。這一塊我並沒作過太大的研究。雖然基本是屬於略有改動的模板型網站,但至少,相對我的而言,一個服務商所能提供的建站方案更加穩定和快捷。
固然也能夠在如豬八戒網,或某些技術網站的衆包平臺發佈建站需求,性質相似,此處不作諸如性價比和會不會被坑之類的評價。
優勢:便捷,便宜,有錢你就能隨心所欲。
缺點:有錢你才能隨心所欲。
主要花費在購買雲服務器上和靜態資源託管上,剩餘工做一力承擔。
選擇自建站,通常來講是有着後臺的需求,好比能隨時發表文章之類。也有如網站個性化,特殊化,有個程序員之類的其餘狀況。如下只大體講解兩種通用的建站方案,這裏主要仍是面向技術人員,所以如拖拽式建站託管等方案不在此贅述。
易於操做、易於瀏覽、有各類插件、主題和解決方案。請自行搜索wordpress主題。
這也是各種雲服務商提供的常見建站方案。
要使用wordpress自行建站,你須要瞭解如下內容:Linux、 Apache/Nginx、 Mysql/MariaDB、Perl/PHP/Python。
如下是大體的安裝方案和注意事項(來自多年(大概兩年)之前本身建站的筆記):
①、選購雲服務器:Linux環境,Centos7.X 版本。可以使用xshell命令行工具運行命令,使用xftp上傳文件。
②、安裝Apache:yum install httpd -y
啓動和開機啓動:systemctl start httpd.service
,systemctl enable httpd.service
配置文件:/etc/httpd/conf/httpd.conf
修改參數:AllowOverride All
——容許讀寫;Options FollowSymLinks
--- 禁止目錄瀏覽;ServerSignature Off
--- 關閉顯示版本號……(wordpress優化)
③、安裝Mariadb:yum install mariadb mariadb-server -y
啓動和開機啓動:systemctl start mariadb.service
,systemctl enable mariadb.service
修改默認用戶名和密碼等:
mysql -u root -p use mysql update user set user='新用戶' where user='舊用戶'; flush privileges; exit mysqladmin -u 新用戶 -p password 新密碼
④、安裝PHP:yum install php -y
⑤、安裝對應組件等:yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash -y
⑥、測試:/var/www/html 目錄下,加入文件index.php,內容爲
<?php phpinfo();?> ` ,若已通過域名解析,則打開網站後能查看到php版本信息等
⑦、上傳或下載(wget 命令)wordpress.gz文件到雲服務器中的 /var/www/html/
目錄,解壓wordpress-x.x.x-zh_CN.tar.gz 至當前文件夾:tar zxvf wordpress-x.x.x-zh_CN.tar.gz
⑧、設置權限: chmod -R 777 /var/www/html/
⑨、打開網站,跟隨引導一步步走就好了。
固然那是屬於萌新的時候,如今不須要那麼複雜的方案,有現成的lamp或lnmp一鍵安裝包等。
如果在windows本地搭建wordrpess開發環境,也有xampp之類的安裝包用於測試,如有php相關的技術,有耐心閱讀文檔,也可自定義主題(其實仍是挺麻煩的)。
wordpress難的地方在建站,並非使用。但有關如何優化,如減少頁面體積,圖片文件託管,插件使用等,就得本身找方案了。
優勢:快速,功能全面,過期但經典。
缺點:總體臃腫,不如花錢外包,有技術你也無法隨心所欲,得花大量時間優化。
典型的wordpress技術博客: http://www.zhangxinxu.com/
基於Node.js的開源博客平臺,適用於我的,快速、簡單、時尚。支持markdown寫做,支持各類模板主題。
你須要瞭解:Node.js、npm等。如果部署至服務器,你還須要瞭解:Linux、Mysql/MariaDB。
Ghost相似wordpress,但通常用於創建我的網站。中文版的Ghost安裝下載請參照ghost中文網,但已通過時,不建議使用,有必定英文基礎可以使用官方版本。
本地開發或部署均可選取多種方案,具體請參考官方文檔,這裏使用官方安裝文件進行本地安裝測試(win10環境)。
①、安裝Node.js、注意各版本支持狀況,這裏建議6.9.x或對應版本。
②、下載並解壓Ghost包到自定義目錄,npm安裝:npm install --production
。
③、運行並查看運行狀況:npm start
可能遇到的問題:
npm安裝失敗會有提示語句,如須要安裝python並添加python路徑到全局變量、默認安裝sqlite3
。
npm運行時,若未初始化sqlite3
數據庫,可能失敗,如圖
須要npm 全局安裝 knex-migrator
並初始化等。請根據報錯信息安裝對應包並初始化:
npm install -g knex-migrator knex-migrator init
雖然官方支持Node.js 8.8以上,但使用8.9.0 LTS的版本時一直提示找不到主題模板,退回Node.js 6.9.x 從新安裝後才能正常運行。
界面效果:
①、初始化安裝界面
②、前臺界面
③、後臺界面
優勢:快捷速輕便,簡單時尚,支持各類主題模板等等。
缺點:當前生態相對而言並不強大。
免費方案屬於多數開發人員的選擇,若對公司官網需求不高,也可以使用此類方法,但並不建議。
不少平臺都會本身的免費服務和付費服務,對我的而言,不少時候,免費方案已經大大知足一個小型網站的建設需求了。如下列舉一系列免費服務:
Github Pages:可直接將你的Github庫做爲靜態文件服務器託管。只要在GitHub上建立一個名爲xxx.github.io的新存儲庫,其中xxx是你在GitHub上的用戶名(或組織名稱),就能夠獲得一個屬於本身的二級域名,屬於多數技術人員的選擇。
靜態資源託管平臺:包括七牛雲、又拍雲等雲存儲平臺的對象存儲服務,免費的狀況下,每個月可提供限額的流量,實名認證後能獲得固定的二級域名。
BAAS雲服務:包括野狗雲、leancloud等,免費的狀況下,每個月能夠提供限定次數的後臺接口調用次數。
其餘各大雲廠商的免費活動,是熟悉雲服務,提高技術的好選擇。
……
固然,以上方案,實質上都是將靜態文件託管到服務器,最多加幾個接口調用,問題是如何更加方便快捷地創建本身的網站,這裏忽略手寫HTML而後部署的方案。
Hexo是將 Markdown 文件根據主題模板和各類插件生成靜態頁面的Node.js工具。
要使用hexo,你須要瞭解:Node.js、git、github、Markdown語法。
注意:
①、本地安裝使用過程在Hexo官網首頁,注意官網右上角可選擇語言,因爲官網給出的文檔說明更加詳細,這裏不會複述如何安裝部署等。
②、運行hexo server
可能不會報錯,但沒法訪問4000端口,可查看端口是否被佔用:netstat -ano
。如果,則改端口後從新運行。如hexo server -p 8080
如下爲默認landscape主題首頁,更多主題請自行選擇:
③、因爲沒有後臺,文章標題、標籤、時間、ReadMore連接等須要在markdown文檔中特定位置標識,也可使用相關命令生成文章。具體規則請查看官方寫做文檔或使用的插件文檔。
④、包括如 jekyll、Octopress 甚至 Webpack 等方案生成靜態頁面並上傳到文件服務器,如果部署到靜態資源託管平臺,請注意作好CNAME
域名解析、刷新DNS緩存、防止盜鏈之類的設置。
優勢:免費,Geek
缺點:因爲沒有後臺,沒法線上修改,實際開發或使用體驗差強人意
以上僅屬於玩票性質的建站,主要面對我的博客,並且僅對其表層的使用方法作了簡單的介紹,並不困難,選擇也不少。但對真實場景的業務,即便是玩票性質的我的博客,依然還有不少須要補充的技術和注意事項,若涉及其餘業務場景,須要的東西又不同了。
所以待續……