[搭建]Halo博客系統快速搭建與配置HTTPS

為什么使用Halo博客?

如果你不是一名程序員,那么使用wordpress會更加適合你,如果你喜歡折騰,那么hexo也是一個不錯的選擇。但是wordpress原生不支持markdown語法,hexo又是純靜態博客,哪怕配置了鉤子,一鍵上傳后自動更新,也感覺很麻煩,在折騰多個博客后我選擇了halo。

注意:如果你的搭建環境滿足以下條件,那么只需要不到一個小時,你就可以配置好halo,nginx反向代理,以及HTTPS

1.阿里云服務器centos7系統

2.選擇安裝的初始化鏡像是寶塔系統

開始搭建環境

如果你是購買的阿里云服務器,那么在初始化服務器的時候有多個現成的開發選擇可供選擇,除了windows系統其他都是基于centos7系統。

image20191030170037568.png

如果你的系統不是BT(寶塔)系統,建議進行重置,因為對于linux小白來說,寶塔真的太方便了!

重置完畢后,根據提示在阿里云的防火墻頁面開放8888端口給寶塔系統,否則可能無法進入

image20191030170358777.png

進入系統后,點擊軟件商店,安裝nginx

image20191030170311186.png

等待一會安裝完畢后,點擊首頁即可看到nginx的標志,如果沒看見可以到軟件商店里,把在首頁顯示的按鈕點開,就是上圖中綠色的按鈕。

image20191030170604015.png

安裝Halo博客系統

halo的官方部署文檔: https://halo.run/guide/

此文檔寫的很詳細了,你只要在linux頁面復制黏貼命令即可(選擇在linux服務器部署halo),跳過配置文件下載,我們追求不折騰,就不要單獨配置項目的配置文件了,直接進行運行命令,啟動不報錯,就可以嘗試訪問了。由于halo博客默認使用的是8090端口,所以我們重復上面防火墻的那一步,將8090端口也打開

重點:

寶塔系統同樣自帶防火墻,也就是說服務器不僅被阿里云的防火墻保護,還有寶塔系統的一層防火墻,所以點擊寶塔系統的安全,填寫放行端口

image20191030171142843.png

此時通過你的服務器ip:8090應該就可以看到halo博客的安裝頁面了

配置反向代理與HTTPS

在寶塔系統中打開nginx圖標,選擇配置修改,直接將下面的配置信息復制進去即可(全覆蓋原先的配置)

image20191030171522427.png

user  www www;

worker_processes auto;

error_log  /www/wwwlogs/nginx_error.log  crit;

pid        /www/server/nginx/logs/nginx.pid;

worker_rlimit_nofile 51200;

events

    {

        use epoll;

        worker_connections 51200;

        multi_accept on;

    }

http

    {

        include      mime.types;

#include luawaf.conf;

include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;

        client_header_buffer_size 32k;

        large_client_header_buffers 4 32k;

        client_max_body_size 50m;

        sendfile  on;

        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;

        fastcgi_send_timeout 300;

        fastcgi_read_timeout 300;

        fastcgi_buffer_size 64k;

        fastcgi_buffers 4 64k;

        fastcgi_busy_buffers_size 128k;

        fastcgi_temp_file_write_size 256k;

fastcgi_intercept_errors on;

        gzip on;

        gzip_min_length  1k;

        gzip_buffers    4 16k;

        gzip_http_version 1.1;

        gzip_comp_level 2;

        gzip_types    text/plain application/javascript application/x-javascript text/javascript text/css application/xml;

        gzip_vary on;

        gzip_proxied  expired no-cache no-store private auth;

        gzip_disable  "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;

limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;

        access_log off;

server {

    listen 80;

    server_name www.xxx.com;

#此處為你申請備案的域名

    location / {

        proxy_set_header HOST $host;

        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://ip:8090;

        #此處為你的服務器地址以及端口號

    }

}

include /www/server/panel/vhost/nginx/*.conf;

}

注意修改你的域名和反向代理地址

然后使用就可以使用域名直接查看你的halo博客了(注意要提前通過ip:8090進入安裝好博客,這樣域名訪問就可以直接看到前臺頁面效果了)

配置HTTPS有很多方法,halo官方給的方法是使用certbot,但是這個工具很容易出現問題,所以不建議使用,雖然很方便,如果你在安裝中出現問題,建議不要再去找解決方案,因為太麻煩太麻煩了。

如果你是阿里云或者其他云的服務器,基本上都可以申請到免費的一年HTTPS證書,到期了可以再次申請。

image20191030172018292.png

直接進入頁面點擊申請即可,遇到選項選自動,然后1天之內就可以通過審核,下載證書了,證書是壓縮包解壓后是一個pem結尾和一個key結尾的文件,我們將其通過寶塔的文件上傳功能上傳到服務器的目錄下面,建議上傳到/usr/local/nginx/cert/cert目錄并不存在,,你也可以在寶塔的文件頁面上直接創建,十分方便

image20191030172617127.png

最后一步!再次修改nginx的配置文件!


user  www www;

worker_processes auto;

error_log  /www/wwwlogs/nginx_error.log  crit;

pid        /www/server/nginx/logs/nginx.pid;

worker_rlimit_nofile 51200;

events

    {

        use epoll;

        worker_connections 51200;

        multi_accept on;

    }

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  0;

    keepalive_timeout  65;

    #gzip  on;

    server {

        listen      80;

    server_name  www.yunkoom.com www.yunkoom.cn yunkoom.com yunkoom.cn;

    rewrite ^ https://$host$request_uri? permanent;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

        proxy_set_header HOST $host;

        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://ip:8090;

        #此處要修改為你自己的地址

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page  500 502 503 504  /50x.html;

        location = /50x.html {

            root  html;

        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass  http://127.0.0.1;

        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        #location ~ \.php$ {

        #    root          html;

        #    fastcgi_pass  127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}

        # deny access to .htaccess files, if Apache's document root

        # concurs with nginx's one

        #

        #location ~ /\.ht {

        #    deny  all;

        #}

    }

    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen      8000;

    #    listen      somename:8080;

    #    server_name  somename  alias  another.alias;

    #    location / {

    #        root  html;

    #        index  index.html index.htm;

    #    }

    #}

    # HTTPS server

    #

    server {

        listen      443 ssl;

        server_name  www.xxx.com;

#此處要修改為你自己的域名

        ssl_certificate      /usr/local/nginx/cert/xxxx.pem;

        ssl_certificate_key  /usr/local/nginx/cert/xxxx.key;

#此處要修改為你自己的文件地址

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

        location / {

        proxy_set_header HOST $host;

        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://4ip:8090;

        #此處要修改為你自己的ip

        }

    }

}

注意!nginx的配置文件修改完成之后,要點擊服務,選擇重載配置,然后重啟,然后在寶塔系統中放行443端口,大功告成!

一些注意事項

nginx對于配置文件有自檢功能,在寶塔系統中使用nginx,如果配置文件有錯誤,則無法保存,如果保存成功,重載配置重啟后,配置依然不生效,可以查看一下阿里云和寶塔的防火墻,看是不是有端口沒有放行或者添加,不需要在服務器中對防火墻進行設置。

如果配置了HTTPS后發現網頁顯示不全,JS資源被攔截,那么你需要在halo博客后臺中設置一下博客地址改為https的地址,就恢復正常了。

image.png

可以訪問我的博客:https://www.yunkoom.com/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,443評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,530評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,407評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,981評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,759評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,204評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,263評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,415評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,955評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,650評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,892評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,675評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,967評論 2 374

推薦閱讀更多精彩內容