Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
該從哪里開始呢?好久沒來,有點(diǎn)生疏,有點(diǎn)茫然,那就按常規(guī)套路來吧,首先對你們的駐足說聲3q,本次分享的是一款個(gè)人博客設(shè)計(jì),主題為《周末's博客》,本來代碼算是早就寫好,但因?yàn)榉N種原因的耽擱,一直都未發(fā)布,算了,還是別編了,其實(shí)就是因?yàn)樽约簯?..
言歸正題,本篇設(shè)計(jì)只包含首頁和子頁,都是靜態(tài)頁面,這兩頁的重要性,你懂的,大多的時(shí)候,都在這兩頁上進(jìn)行擴(kuò)展的。下面看一下圖摘
腫么樣?如果你覺得還可以請繼續(xù)往下看,下面詳細(xì)介紹實(shí)現(xiàn)細(xì)節(jié)
1、該設(shè)計(jì)采用藍(lán)色為主色調(diào),這個(gè)色調(diào)你可根據(jù)自己的喜好重置,重置方法:
2、人生,就像一盒巧克力,你永遠(yuǎn)不知道下一塊是什么味道!這句話動(dòng)態(tài)進(jìn)入頁面,采用的是wow插件實(shí)現(xiàn)的效果,引用案例:
3、輪播圖 實(shí)現(xiàn)關(guān)鍵代碼
首頁的輪播圖采用superslide.2.1.js,該插件是基于jquery的,所以使用前需要先引用jquery,具體使用方法如下:
4、站內(nèi)搜索 實(shí)現(xiàn)關(guān)鍵代碼
5、熱門推薦 實(shí)現(xiàn)關(guān)鍵代碼
者: bookerzhao,騰訊 CSIG web前端開發(fā)工程師
Github 為開源項(xiàng)目提供了用于靜態(tài)頁面展示的 Pages 服務(wù),很多開發(fā)者都在上面托管了自己的靜態(tài)網(wǎng)站和博客,不少開源項(xiàng)目的案例和文檔頁面也采用了這種方式。不過由于 Pages 的 CDN 節(jié)點(diǎn)大部分在國外,在國內(nèi)的訪問速度不是很理想,不少開發(fā)者希望能提升網(wǎng)站在國內(nèi)的訪問速度和穩(wěn)定性,今天會(huì)介紹如何配合 Github Action 的持續(xù)集成服務(wù)和 云開發(fā) Github Action 擴(kuò)展,自動(dòng)部署到訪問速度更快的云開發(fā)靜態(tài)托管服務(wù)。
云開發(fā)靜態(tài)托管是云開發(fā)提供的一種靜態(tài)網(wǎng)站托管能力,靜態(tài)資源(HTML、CSS、JavaScript、字體等)的分發(fā)由騰訊云對象存儲(chǔ) COS 和擁有多個(gè)邊緣網(wǎng)點(diǎn)的騰訊云 CDN 提供支持。
云開發(fā)靜態(tài)托管是云開發(fā)提供的靜態(tài)網(wǎng)站托管的能力,靜態(tài)資源(HTML、CSS、JavaScript、字體等)的分發(fā)由騰訊云對象存儲(chǔ) COS 和擁有多個(gè)邊緣網(wǎng)點(diǎn)的騰訊云 CDN 提供支持。可以通過騰訊云控制臺(tái)、命令行工具以及下面會(huì)提到的云開發(fā) Github Action 進(jìn)行管理部署。云開發(fā)提供了免費(fèi)的二級域名(未綁定自定義域名時(shí)下行速度有限制),同時(shí)支持免費(fèi)綁定開發(fā)者自己的自定義域名。
首個(gè)環(huán)境可享受 1GB 容量和每月 5GB 流量的免費(fèi)額度,對于訪問量不是很大的個(gè)人博客應(yīng)該足夠了。如果流量大也沒關(guān)系,計(jì)費(fèi)是按照具體使用收費(fèi)的按量付費(fèi)方式,具體信息可以查看計(jì)費(fèi)價(jià)格文檔 https://cloud.tencent.com/product/wh/pricing
云開發(fā)靜態(tài)托管部署的網(wǎng)站,還可以使用云開發(fā)的提供的一站式 Serverless 后端能力,例如云函數(shù)、云數(shù)據(jù)庫、云存儲(chǔ)、身份服務(wù)等。比如可以在靜態(tài)托管的個(gè)人博客上面使用云函數(shù)和云數(shù)據(jù)庫實(shí)現(xiàn)評論、留言板功能等,或者可以把博客的內(nèi)容管理從原來的靜態(tài)文件部署變?yōu)?strong>動(dòng)態(tài)內(nèi)容管理等,拓展的用法非常的多,開發(fā)者可以繼續(xù)深入探索。
下面演示如何將 Github 靜態(tài)頁面自動(dòng)部署到云開發(fā)的靜態(tài)托管,來獲得穩(wěn)定的訪問速度和更多的擴(kuò)展能力。
例如開發(fā)者的個(gè)人博客 Github 項(xiàng)目結(jié)構(gòu)如下:
|-- src
|-- build
|-- README.md
希望將項(xiàng)目下 build 目錄生成的靜態(tài)網(wǎng)站代碼部署到云開發(fā)這邊開通的靜態(tài)網(wǎng)站托管的根目錄下。
首先在項(xiàng)目目錄配置如下的 Github Action 文件 .github/workflows/main.yml,如果已經(jīng)配置過 Github Action 就不需要重新創(chuàng)建了,然后參考下面的配置填寫。
on: [push] # push 代碼時(shí)觸發(fā)
jobs:
deploy:
runs-on: ubuntu-latest
name: Tencent Cloudbase Github Action Example
steps:
- name: Checkout
uses: actions/checkout@v2
# 使用云開發(fā) Github Action 部署
- name: Deploy static to Tencent CloudBase
id: deployStatic
uses: TencentCloudBase/cloudbase-action@v1
with:
# 云開發(fā)的訪問密鑰 secretId 和 secretKey
secretId: ${{ secrets.SECRET_ID }}
secretKey: ${{ secrets.SECRET_KEY }}
# 云開發(fā)的環(huán)境id
envId: ${{ secrets.ENV_ID }}
# Github 項(xiàng)目靜態(tài)文件的路徑
staticSrcPath: build
可以看到配置中主要用到了 云開發(fā) Github Action 擴(kuò)展 TencentCloudBase/cloudbase-action@v1 來部署靜態(tài)文件。
注意配置文件中參數(shù)部分的 secretId、secretKey 、envId屬于敏感信息,需要放在項(xiàng)目的 secret 存儲(chǔ)中,這里不用填寫真實(shí)的值,只需要按照上面實(shí)例填寫變量即可。
staticSrcPath 這里填寫了靜態(tài)網(wǎng)站構(gòu)建產(chǎn)生的目錄 build,如果想把靜態(tài)資源部署到云端的某個(gè)子目錄而不是根目錄,可以再配置一個(gè)參數(shù) staticDestPath 。
我們還需要在項(xiàng)目的 Secrets 中配置 SECRET_ID、SECRET_KEY、ENV_ID 這幾個(gè)私密信息,下面是具體的配置方式。
首先要開通云開發(fā)靜態(tài)網(wǎng)站,可以參考開通指南:https://docs.cloudbase.net/hosting/,開通環(huán)境后在云開發(fā)環(huán)境列表 頁面即可得到環(huán)境ID ENV_ID ,然后在騰訊云 訪問管理 頁面可以配置一對 API 訪問密鑰,也就是SECRET_ID、SECRET_KEY。
然后在自己的 Github 項(xiàng)目內(nèi)的 Setting/Secrets 里設(shè)置 SECRET_ID, SECRET_KEY, ENV_ID 信息即可。
配置完之后就可以提交代碼體驗(yàn)自動(dòng)部署了,每次 git push Actions 都會(huì)自動(dòng)運(yùn)行,將項(xiàng)目的靜態(tài)資源部署到自己的云開發(fā)靜態(tài)托管環(huán)境,部署成功之后即可通過云開發(fā)提供的二級域名訪問來自己的網(wǎng)站。
云開發(fā)提供的免費(fèi)的二級域名下行速度有所限制,開發(fā)者最好綁定一個(gè)自己的域名,綁定域名是免費(fèi)的,還可以在騰訊云配置一個(gè)免費(fèi)的 SSL 證書,來通過 HTTPS 訪問自己的網(wǎng)站。
自定義域名的方法可以參考這篇文檔 https://docs.cloudbase.net/hosting/custom-domain.html
配置完成后,測試下部署在云開發(fā)靜態(tài)托管的網(wǎng)站的訪問速度,根據(jù)測速數(shù)據(jù)可以看到各地的訪問速度都非常快。
云開發(fā) Tencent CloudBase Github Action 這個(gè)擴(kuò)展會(huì) Github 項(xiàng)目自動(dòng)部署到云開發(fā)環(huán)境,目前支持靜態(tài)托管功能,后續(xù)會(huì)支持其他資源的部署,比如可以把用 Node JS 、 Java、PHP 等語言開發(fā)的服務(wù)端項(xiàng)目一鍵部署到云開發(fā),來獲得 Serverless 化的動(dòng)態(tài)網(wǎng)站服務(wù)。或者自動(dòng)化部署帶有數(shù)據(jù)庫、前端、后端的全棧應(yīng)用。
Tencent CloudBase Github Action 擴(kuò)展市場地址:
https://github.com/marketplace/actions/tencent-cloudbase-github-action
Tencent CloudBase Github Action 代碼開源地址:
https://github.com/TencentCloudBase/cloudbase-action
歡迎大家多多體驗(yàn)、Star 支持或者提交 Issue / Pull request 來參與貢獻(xiàn)。
云開發(fā)還推出了【9.9元靜態(tài)網(wǎng)站托管包年贊助計(jì)劃】。只要你是技術(shù)博客/技術(shù)站點(diǎn),遷移至云開發(fā)靜態(tài)網(wǎng)站托管服務(wù)后,即可申請?jiān)撡澲?jì)劃。 申請方式鏈接: https://url.cn/5nFAtxq 靜態(tài)網(wǎng)站托管產(chǎn)品介紹:https://cloud.tencent.com/product/wh
里給大家分享如何部署自己的個(gè)人博客網(wǎng)站,為了節(jié)省部署配置的時(shí)間,我這里使用docker部署,這樣相比組件安裝起來能快一些。
首先需要大家準(zhǔn)備一臺(tái)Centos或者Redhat6以上的操作系統(tǒng),安裝好docker。
關(guān)于如何去安裝docker,這里簡單給大家分享一個(gè)通過yum源的方式安裝,需要機(jī)器能上外網(wǎng),如果不能上外網(wǎng),可以在離線安裝或者在外網(wǎng)的機(jī)器上配置好阿里云或者網(wǎng)易云的yum源之后緩存到本地。
本次個(gè)人博客網(wǎng)站是基于JPress開源項(xiàng)目部署,用過的朋友都知道JPress類似于WordPress,使用java語言開發(fā)的。優(yōu)點(diǎn)很多,比如:在線編輯、各種各樣的模板、對接微信公眾號(hào)、小程序管理、支持二次開發(fā)等等,這里就不多說了!感興趣的朋友可以去官網(wǎng)瞅瞅!
接下來開始下載mysql數(shù)據(jù)庫:
docker pull hub.c.163.com/library/mysql:latest
開始下載Tomcat中間件
docker pull hub.c.163.com/library/tomcat:latest
通過docker images查看上面下載的鏡像:
開始下載JPress war包:
wget https://gitee.com/GalaIO/jpress/raw/master/wars/jpress-web-newest.war
mkdir jpress &&cd jpress
cp ../jpress-web-newest.war ./jpress.war
FROM hub.c.163.com/library/tomcat
MAINTAINER zll
COPY jpress.war /usr/local/tomcat/webapps/jpress.war
docker build -t my/jpress:latest
啟動(dòng)docker鏡像,先啟動(dòng)mysql,并創(chuàng)建DB
docker run --name bolgmysql -d -p 3306:3306 –e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=bolgdb hub.c.163.com/library/mysql
通過docker ps可以查看到mysql數(shù)據(jù)庫已經(jīng)起來了:
啟動(dòng)JPress,映射端口為6666:
docker run --name bolgjpress -d -p 6666:8080 my/jpress
查看最終的容器應(yīng)用:
開始測試服務(wù)是否都正常:
1、測試Tomcat服務(wù)是否正常,瀏覽器輸入IP+8888端口,如下界面:
2、測試jpress服務(wù)是否正常,瀏覽器輸入IP+8888/jpress,如下界面:
3、輸入數(shù)據(jù)庫的用戶名和密碼后按照安裝向?qū)乱徊郊纯砂惭b完成,安裝完后后界面如下圖所示:
*請認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。