1. 程式人生 > >從零開始創建自己的博客

從零開始創建自己的博客

ava 備份 off 流量 version css 惡搞 設置 oct

www.minminmsn.com
是否受夠了各博客平臺之間頻繁切換,精心設計的語言被無辜替換,辛苦維護的博文偶爾遭到無情的誤殺,鋪天蓋地的廣告瘋狂的轟炸。煩了!倦了!夠了!終於我要出手了,現在給你個配方就可以從零開始創建自己的博客,只需要花點兒銀子(平均每月百來元即可小玩一把)就能解決以上所有痛點,在自己的地盤自己做主,隨意撒野!
具體主要包含如下幾步(歡迎各位瘋狂點贊、收藏、轉載,打CALL、投幣):
  • 一、域名註冊
  • 二、域名備案
  • 三、公安備案
  • 四、證書申請
  • 五、架構設計
    • 效果圖
    • 架構圖
  • 六、部署配置
    • Nginx部署
    • Nginx配置
    • Docker部署
  • 七、前端設計
    • 模板
    • 布局
  • 八、插件選型
  • 九、原創內容

一、域名註冊

選擇一個有代表性的域名,比如:minminmsn.com
參考:https://buy.cloud.tencent.com/domain?from=console

二、域名備案

個人站點備案,借助平臺還是很方便的,大概20工作日左右可完成(根據大陸法所有域名需要備案,否則後果自負)
參考:https://console.cloud.tencent.com/beian

三、公安備案

個人站點非交互頁面比較好備案,需要ICP備案後30日啟動
參考:https://cloud.tencent.com/document/product/243/19142

四、證書申請

竟然有域名型免費版可以免費試用一年(竊喜)
https://buy.cloud.tencent.com/ssl

五、架構設計

5.1 效果圖

技術分享圖片

5.2 架構圖

Nginx(證書、跳轉、流控、反向代理)

|

Docker源站(安全、緩存插件)

|

Docker數據庫(mysql)

|

定期備份(腳本)

六、部署配置

6.1 Nginx部署

wget http://nginx.org/download/nginx-1.14.1.tar.gz
tar zxvf nginx-1.14.1.tar.gz
cd nginx-1.14.1/
./configure --with-http_ssl_module 
make
make install 

6.2 Nginx配置

user  nobody;
worker_processes  auto;

error_log  logs/error.log;

pid        logs/nginx.pid;

#偶爾調大點就行,個人博客訪問量大絕對有問題
events {
    worker_connections  10240;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;

    access_log  logs/access.log  main;

    sendfile        on;
    tcp_nopush     on;
    keepalive_timeout  65;

    #開啟壓縮節省服務器流量
    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_comp_level 2;
    gzip_types text/htm application/x-javascript text/css image/jpeg image/png;
    gzip_vary off;

    #配置限流放置輕微惡搞
    limit_req_status 418;
    limit_conn_status 418;
    limit_req_zone  $binary_remote_addr zone=one:10m rate=3r/s;
    limit_conn_zone $binary_remote_addr zone=addr:10m;

    server {
        listen 80;
        server_name minminmsn.com m.minminmsn.com www.minminmsn.com;
        return 301 https://wwww.minminmsn.com$request_uri;
    }

    #註意填上申請的證書及加密算法的安全性
    server {
        listen       443 ssl;
        server_name  www.minminmsn.com;

        limit_req zone=one burst=5 nodelay;
        limit_conn  addr 5;

        ssl_certificate      ssl/minminmsn.crt;
        ssl_certificate_key  ssl/minminmsn.key;
        ssl_prefer_server_ciphers   on;
        ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
        ssl_protocols               TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
        ssl_session_cache           shared:SSL:10m;
        ssl_session_timeout         60m;

        #wordpress默認不支持ssl,nginx反向代理配置後還需要安裝插件ssl-insecure-content-fixer才行
        location / {
            proxy_pass   http://127.0.0.1:8080;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Port 443;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            client_max_body_size    30M;
            client_body_buffer_size 256k;
            proxy_connect_timeout       60s;
            proxy_read_timeout          600s;
            proxy_send_timeout          600s;
        }
    }
}

6.3 Docker部署

docker可以當做一個可以開啟暫停重啟關閉的程序,只要數據保存到外部不丟失,使用起來非常方便快捷
docker pull mysql:5.7
docker pull wordpress:latest
docker run --name mysql  -v /yourpath/db:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=your@password --restart=always   -d mysql:5.7
docker run --name wordpress -v /yourpath/www:/var/www/html  --restart=always  --link mysql:mysql -p 8080:80 -d wordpress

七、前端設計(簡潔明快)

7.1 模板

(選擇能Hold住且清新脫俗的)
Chilly是一個響應式,多功能的WordPress主題。靈活的它,適合顯示機構、博客、商業、公司或作品集。定制是容易和直接的,提供的選項能讓您設置您的站點,以完全符合您所期望的在線存在。請訪問此鏈接https://wordpress.org/themes/spicepress/。

7.2 布局

主題

三杯水

開源背景圖

支持開源

一首小詩

蘭德的生與死

一張小圖

博雅塔

分類欄目

九九歸一

日歷

三的倍數是發博日

八、插件選型(選簡單好用的)

AddToAny Share Buttons

可以復雜鏈接分享給國內外常用的社交平臺

Limit Login Attempts Reloaded

防止暴力破解博客賬號密碼

Mobile Menu

在不同的終端都能很好的展示你的博客

WP Editor.md

或許這是一個WordPress中最好,最完美的Markdown編輯器

WP Super Cache

博客性能優化,緩存靜態資源,訪問加速

WP 統計

後臺統計,可對地域及點擊率進行分析

SSL-insecure-content-fixer

幫助您清理並修復 WordPress 站點的 HTTPS 不安全內容

Disable comments

為了最大化的安全及ICP備案後公安網備案個人非交互站點需要禁用評論功能

九、原創內容(九九歸一,支持原創)

佛學

博大精深有搞頭

哲學

自由自在無邊界

開發

山不過來我過去

心學

燃燒你的小宇宙

技術

術是第一生產力

數據

數據滿足好奇心

雜談

亦正亦邪冰與火

讀書

終身跨學科提問

運維

運籌於帷幄之中

從零開始創建自己的博客