最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

基于solo;從0開始搭建個(gè)人博客系統(tǒng)(小白級(jí)保姆教程)

2020-11-30 00:04 作者:猿一航  | 我要投稿

B站視頻教程地址,點(diǎn)擊查看


下面的文檔為上面的視頻筆記;可以配合視頻教程使用。

建議查看個(gè)人博客中的筆記,更加清晰,持續(xù)更新

https://blog.lupf.cn/articles/2020/11/29/1606664585380.html

教程介紹

個(gè)人博客

個(gè)人博客:https://lupf.cn

CSDN : https://lupengfei.blog.csdn.net/

為什么要有自己的博客?

  • 記錄學(xué)習(xí)、開發(fā)心得;解決的問題、學(xué)習(xí)的知識(shí);寫出來和單純裝在腦子里是完全不一樣的;記錄一遍,影響更加深刻;

  • 分享精神(開源精神),幫助其他人解決相同的問題,分享有趣的知識(shí);

  • 提升自身的level,擴(kuò)大自己的影響力,結(jié)識(shí)更多的朋友;

  • 云服務(wù)降低了門檻;不需要自己搞機(jī)器、辦固定IP;入門級(jí)別的阿里云、騰訊云幾百塊錢一年;成本很低,但是足夠個(gè)人博客的使用了。

  • 審核機(jī)制的問題;某一些特殊的筆記,沒辦法發(fā)到共有的博客環(huán)境,那我們就可以放在主機(jī)的博客下面;

  • 面試、找工作的加分項(xiàng)

搭建面臨的問題

  • 問題太多帶來的恐懼

    搭建的過程中不可避免的會(huì)出現(xiàn)問題,很多時(shí)候因?yàn)檫@些問題得不到有效的解決而被迫放棄;我想說的是,不要畏懼,直面問題剛一波,其實(shí)很多時(shí)候往往就是堅(jiān)持一下,下一秒可能就找到解決方案了。

  • 了解的知識(shí)面不夠全面

    麻雀雖小,五臟俱全;一個(gè)博客平臺(tái),雖然支持的功能就那么多,但是包含了一整套業(yè)務(wù)流程;數(shù)據(jù)庫、前端、后臺(tái)都有,然而并不是所有開發(fā)人員這些都是了解的;因此,因?yàn)橐恍┎粫?huì)的因素,給整個(gè)搭建帶來了一些障礙。

教程的目的

本教程的最終目的,就是帶大家解決搭建過程中的會(huì)遇到的問題;從0開始的一步步去構(gòu)建;詳細(xì)的講解每一個(gè)步驟的創(chuàng)建過程。不管你是在校大學(xué)生、前端開發(fā)、后端開發(fā)。都可以輕松的將個(gè)人博客搭建起來。

為什么選SOLO

gitbub地址:https://github.com/88250/solo

docker倉庫地址: https://hub.docker.com/r/b3log/solo

solo是一個(gè)很輕量級(jí)的博客框架,搭建起來容易,一個(gè)服務(wù),一個(gè)mysql就夠了;

個(gè)人用了一年多,使用起來也比較的方便;

項(xiàng)目從10年開源,且作者對(duì)外宣稱的是永久免費(fèi)維護(hù)下去。所以也不用擔(dān)心,用著用著,項(xiàng)目死了。

筆記

本教程所有的筆記,我會(huì)在個(gè)人博客里面整理成一篇文章;大家通過: https://lupf.cn 進(jìn)入到博客;搜索 “ solo ”關(guān)鍵詞即可看到;下面涉及到的每行指令;都會(huì)整理進(jìn)去,方便大家自行搭建的時(shí)候使用。

教程的幾個(gè)簡(jiǎn)單的章節(jié)

image-20201122222723484

Linux虛擬機(jī)搭建

本章面向的人群

  • 沒有云服務(wù)器

  • 沒有l(wèi)inux系統(tǒng)的物理機(jī)

  • 單純想測(cè)試一下整個(gè)教程的可行性

搭建過程

詳細(xì)教程: https://lupf.cn/articles/2020/04/04/1586001434581.html

  • 創(chuàng)建虛擬機(jī)

  • 配置網(wǎng)絡(luò)

  • 測(cè)試外網(wǎng)

  • 關(guān)閉防火墻

  • 修改主機(jī)名稱

  • 安裝vim

  • 修改時(shí)間

Docker安裝

為什么要用Docker

  • 跨平臺(tái)性

  • 安裝部署簡(jiǎn)單

  • 方便遷移

  • 資源隔離,服務(wù)與服務(wù)之間互不干擾

安裝

詳細(xì)教程: https://lupf.cn/articles/2019/11/23/1574503815568.html

  • 安裝docker

  • 安裝docker-compose

基礎(chǔ)的鏡像準(zhǔn)備

mysql

  • 創(chuàng)建目錄

    mkdir?-p?/opt/docker/mysql

  • 下載鏡像

    docker?pull?mysql:5.7.13

solo

  • 創(chuàng)建目錄

    mkdir?-p?/opt/docker/solo

  • 下載鏡像

    docker?pull?b3log/solo

nginx

由于后面配置ssl證書的時(shí)候需要使用到一個(gè)朋友定制增強(qiáng)的一個(gè)nginx

所以這里一并給下載下來

  • 創(chuàng)建目錄

    mkdir?-p?/opt/docker/nginx/conf/conf.d
    mkdir?-p?/opt/docker/nginx/html
    mkdir?-p?/opt/docker/nginx/logs

    mkdir?-p?/opt/docker/ohttps-nginx/conf/conf.d
    mkdir?-p?/opt/docker/ohttps-nginx/html
    mkdir?-p?/opt/docker/ohttps-nginx/logs

  • 下載鏡像

    docker?pull?nginx
    docker?pull?ohttps/ohttps-nginx

  • 查看下載的鏡像

    docker?images

博客部署

運(yùn)行服務(wù)

  • 準(zhǔn)備nginx的默認(rèn)配置

    docker?run?--name?my-nginx?-p?80:80?-d?nginx

    docker?ps

    docker?cp?f79:/etc/nginx/nginx.conf?/opt/docker/nginx/conf/nginx.conf
    docker?cp?f79:/etc/nginx/conf.d?/opt/docker/nginx/conf
    docker?cp?f79:/usr/share/nginx/html?/opt/docker/nginx

    docker?cp?f79:/etc/nginx/nginx.conf?/opt/docker/ohttps-nginx/conf/nginx.conf
    docker?cp?f79:/etc/nginx/conf.d?/opt/docker/ohttps-nginx/conf
    docker?cp?f79:/usr/share/nginx/html?/opt/docker/ohttps-nginx

    docker?stop?f79
    docker?rm?f79

  • 準(zhǔn)備docker-compose.yml

    version:?"2"

    services:
    ??mysql:
    ????container_name:?solo-mysql
    ????image:?mysql:5.7.13
    ????restart:?always
    ????volumes:
    ??????-?/opt/docker/solo/mysql/data:/var/lib/mysql
    ??????-?/opt/docker/solo/mysql/logs:/logs
    ??????-?/opt/docker/solo/mysql/conf:/etc/mysql/conf.d
    ??????-?/etc/localtime:/etc/localtime:ro
    ????ports:
    ??????-?"3306:3306"
    ????environment:
    ??????MYSQL_ROOT_PASSWORD:?"123456"
    ??????TZ:?"Asia/Shanghai"
    ????command:?--max_allowed_packet=32505856
    ??solo:
    ????container_name:?solo
    ????image:?b3log/solo:latest
    ????restart:?always
    ????ports:
    ??????-?"8080:8080"
    ????environment:
    ??????RUNTIME_DB:?"MYSQL"
    ??????JDBC_USERNAME:?"root"
    ??????JDBC_PASSWORD:?"123456"
    ??????JDBC_DRIVER:?"com.mysql.jdbc.Driver"
    ??????JDBC_URL:?"jdbc:mysql://solo-mysql:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC"
    ????command:?--listen_port=8080?--server_port=?--server_scheme=http?--server_host=192.168.1.232
    ??nginx:?
    ????container_name:?solo-nginx
    ????image:?nginx:latest
    ????restart:?always
    ????ports:
    ??????-?"80:80"
    ??????-?"443:443"
    ????volumes:
    ??????-?/opt/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
    ??????-?/opt/docker/nginx/conf/conf.d:/etc/nginx/conf.d
    ??????-?/opt/docker/nginx/html:/usr/share/nginx/html
    ??????-?/opt/docker/nginx/logs:/var/log/nginx

  • 啟動(dòng)服務(wù)

    此時(shí)的啟動(dòng)肯定會(huì)報(bào)錯(cuò)

    因?yàn)閿?shù)據(jù)庫還沒有,還沒有創(chuàng)建

    docker-compose?-f?docker-compose.yml?up

    • 創(chuàng)建數(shù)據(jù)庫

      docker?ps?|?grep?mysql

      docker?exec?-it?容器id?/bin/bash

      mysql?-uroot?-p

      create?database?solo?default?character?set?utf8mb4?collate?utf8mb4_general_ci;
      create?user?'root'@'127.0.0.1'?identified?by?'123456';
      grant?all?privileges?on?*.*?to?'root'@'127.0.0.1';
      flush?privileges;

  • 調(diào)整服務(wù)為后臺(tái)進(jìn)程

    docker-compose?-f?docker-compose.yml?up?-d

  • 停止并關(guān)閉服務(wù)

    docker-compose?-f?docker-compose.yml?down

  • 測(cè)試本地方位

    http://192.168.1.231:8080

配置nginx

上面運(yùn)行的服務(wù)通過自身監(jiān)聽的端口已經(jīng)可以訪問了;由于默認(rèn)是監(jiān)聽的8080端口;通常情況下我們是希望通過80或者443端口進(jìn)行訪問的;因此,在這里就部署一個(gè)nginx,并監(jiān)聽80或者443端口;然后通過反向代理代理到solo服務(wù)去;

  • 進(jìn)入配置文件目錄

    cd?/opt/docker/nginx/conf/conf.d

  • 添加配置文件

    vim default.conf

    ????location?/?{
    ????????proxy_set_header?X-Real-IP?$remote_addr;
    ????????proxy_set_header?Host?$http_host;
    ????????proxy_pass?http://solo:8080;
    ????}

https證書的配置

詳細(xì)的教程:https://lupf.cn/articles/2020/11/21/1605963949092.html

  • 注冊(cè)賬號(hào)

    官網(wǎng)地址:https://www.ohttps.com?invitationCode=dyq1zry5ew07lgn6

  • 添加chame記錄

    參考視頻

  • 生成證書

  • 配置域名解析

    參考視頻

    //?刷新dns指令
    ipconfig?/flushdns

  • 添加部署節(jié)點(diǎn)(nginx)

  • 調(diào)整docker-compose

    第一處修改 solo服務(wù),--server_scheme修改為https;--server_host=blog.writee.cn

    第二處修改;nginx的鏡像修改為ohttps/ohttps-nginx

    第三處修改;設(shè)置nginx自動(dòng)更新證書的id和token;上面步驟申請(qǐng)到的

    第四處修改;修改持久化文件映射的路徑

    version:?"2"

    services:
    ??mysql:
    ????container_name:?solo-mysql
    ????image:?mysql:5.7.13
    ????restart:?always
    ????volumes:
    ??????-?/opt/docker/solo/mysql/data:/var/lib/mysql
    ??????-?/opt/docker/solo/mysql/logs:/logs
    ??????-?/opt/docker/solo/mysql/conf:/etc/mysql/conf.d
    ??????-?/etc/localtime:/etc/localtime:ro
    ????ports:
    ??????-?"3306:3306"
    ????environment:
    ??????MYSQL_ROOT_PASSWORD:?"123456"
    ??????TZ:?"Asia/Shanghai"
    ????command:?--max_allowed_packet=32505856
    ??solo:
    ????container_name:?solo
    ????image:?b3log/solo:latest
    ????restart:?always
    ????ports:
    ??????-?"8080:8080"
    ????environment:
    ??????RUNTIME_DB:?"MYSQL"
    ??????JDBC_USERNAME:?"root"
    ??????JDBC_PASSWORD:?"123456"
    ??????JDBC_DRIVER:?"com.mysql.jdbc.Driver"
    ??????JDBC_URL:?"jdbc:mysql://solo-mysql:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC"
    ????command:?--listen_port=8080?--server_port=?--server_scheme=https?--server_host=blog.writee.cn
    ??nginx:?
    ????container_name:?solo-nginx
    ????image:?ohttps/ohttps-nginx
    ????restart:?always
    ????ports:
    ??????-?"80:80"
    ??????-?"443:443"
    ????environment:
    ??????PUSH_NODE_ID:?"push-1xlpm40g5p85n9gz"
    ??????PUSH_NODE_TOKEN:?"16d2e1584b25bf22888586a51ff86dcf"
    ????volumes:
    ??????-?/opt/docker/ohttps-nginx/conf/nginx.conf:/etc/nginx/nginx.conf
    ??????-?/opt/docker/ohttps-nginx/conf/conf.d:/etc/nginx/conf.d
    ??????-?/opt/docker/ohttps-nginx/html:/usr/share/nginx/html
    ??????-?/opt/docker/ohttps-nginx/logs:/var/log/nginx

  • 重啟服務(wù)

    docker?exec?-t?容器id?nginx?-t
    docker?exec?-t?容器id?nginx?-s?reload

  • 查看證書

    docker?ps?|?grep?nginx

    docker?exec?-it?容器id?/bin/bash

    cd?/etc/nginx/certificates
    ls

  • nginx配置域名及證書

    vim blog.conf

    server?{
    ??listen???????80;
    ??server_name?blog.write.cn;
    ??return?301?https://$server_name$request_uri;
    }

    server?{
    ??server_name?blog.write.cn;
    ??listen?443?ssl?http2;

    ??ssl_stapling?on;
    ??ssl_stapling_verify?on;
    ??ssl_certificate_key?/etc/nginx/certificates/cert-9dxel0446w04j7o1/cert.key;
    ??ssl_certificate?/etc/nginx/certificates/cert-9dxel0446w04j7o1/fullchain.cer;
    ??ssl_session_timeout?5m;
    ??ssl_protocols?TLSv1.1?TLSv1.2;
    ??ssl_prefer_server_ciphers?on;
    ??ssl_ciphers?"EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
    ??ssl_session_cache?builtin:1000?shared:SSL:10m;

    ??location?/?{
    ????proxy_set_header?X-Real-IP?$remote_addr;
    ????proxy_set_header?Host?$http_host;
    ????proxy_pass?http://solo:8080;
    ??}
    }

- END -


基于solo;從0開始搭建個(gè)人博客系統(tǒng)(小白級(jí)保姆教程)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
申扎县| 冕宁县| 廊坊市| 阿城市| 柞水县| 县级市| 沅江市| 新津县| 内江市| 田东县| 岳阳市| 巴东县| 卢氏县| 屏东市| 汽车| 阳信县| 洪雅县| 广州市| 邹城市| 哈巴河县| 华坪县| 蓝山县| 陕西省| 平和县| 汪清县| 鹤山市| 德兴市| 武鸣县| 呼玛县| 体育| 曲周县| 阳泉市| 眉山市| 兴海县| 鲁山县| 台南市| 祁阳县| 临高县| 遂溪县| 铅山县| 彰化市|