溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何測試HelloGitHub

發(fā)布時間:2021-10-12 11:28:09 來源:億速云 閱讀:141 作者:iii 欄目:編程語言

這篇文章主要介紹“如何測試HelloGitHub”,在日常操作中,相信很多人在如何測試HelloGitHub問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何測試HelloGitHub”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

一、簡單測試

HelloGitHub:“嘿嘿,先別著急,我們先在本地平臺運行,測試測試功能,了解這個項目的基本使用,再一步步往前走。”

僅需 6 步你就可以從零運行起來這個項目!

1、我們本地的實驗環(huán)境是:

  • Windows 10 64 位操作系統(tǒng)

  • Python 3.7,pip 21.0.1

2、我們需要將開源項目克隆到本地,使用如下命令:

git clone https://github.com/zmister2016/MrDoc

3、為 MrDoc 安裝好所需的第三方庫:進入 Mrdoc/ 目錄,運行如下命令:

如何測試HelloGitHub

4、初始化數(shù)據(jù)庫,該項目默認使用 sqlite 數(shù)據(jù)庫。在命令行下執(zhí)行:

如何測試HelloGitHub

5、創(chuàng)建管理員賬戶,來管理整個 MrDoc 應(yīng)用。注意用戶名和電子郵箱地址在整個 MrDoc 應(yīng)用中是唯一的。

如何測試HelloGitHub

6、本地上線測試:在測試環(huán)境中,可以使用 Django 自帶的服務(wù)器運行 MrDoc。

如何測試HelloGitHub

二、食用說明

小白搓搓手,期待:“我也在本地測試成功了,是不是可以探索一番里面的彩蛋呢?”

HelloGitHub:“好嘞,項目主打的關(guān)鍵字就是:個人團隊協(xié)作和文檔管理,讓我現(xiàn)在來給你展現(xiàn)一下五臟俱全的 MrDoc?!?/p>

2.1 注冊登錄

HelloGitHub:“當(dāng)我們訪問網(wǎng)站的時候,以游客身份進行的。假如我們需要注冊一個普通用戶的帳號,則需要填寫相應(yīng)的表單信息,注冊完畢后會自動跳轉(zhuǎn)到已登錄界面。”

如何測試HelloGitHub

小白:“補充:其實如果游客想點擊 新建新建文檔,也是需要登錄操作的喲。”

2.2 文集文檔

HelloGitHub:“當(dāng)我們登錄以后,可以在 新建新建文集 中創(chuàng)建一個文集?!?/p>

如何測試HelloGitHub

小白:“我發(fā)現(xiàn)了,可以點擊首頁的文集,進入到文集的瀏覽閱讀頁面,還可以用 添加 新建一個文檔。在進入文檔編輯器頁面,我們可以 點擊文檔樹 選擇當(dāng)前文檔對應(yīng)的上級或者 取消上級,以及通過輸入 文檔排序值,來給不同文檔排序?!?/p>

HelloGitHub:“嗯吶,現(xiàn)在我們就不用擔(dān)心教程學(xué)習(xí)類的文章不連續(xù)啦,因為他們都有層次順序的分布在我們的文集中。不過因為目前 MrDoc 最多支持 3 級的文檔,可別讓自己的文檔樹太大鴨?!?/p>

如何測試HelloGitHub

HelloGitHub:“非常重要的一點是團隊的共享和協(xié)作。我們普通用戶可以對自己的文集進行管理,點擊 個人中心我的文集文集管理文集成員 處的 協(xié)作管理 小圖標(biāo),可以添加協(xié)作人。而且在 文集管理操作文集設(shè)置 小圖標(biāo)可以修改 基礎(chǔ)信息、權(quán)限配置管理控制。當(dāng)權(quán)限設(shè)置為公開時,則當(dāng)以游客身份訪問網(wǎng)頁的時候能夠看到該文集;當(dāng)權(quán)限設(shè)置為私密,則只有自己能看到。當(dāng)然也可以給固定的人看,這也就能實現(xiàn)了小團隊的共享?!?/p>

如何測試HelloGitHub

2.3 文檔編輯

HelloGitHub:“現(xiàn)在我們把目光投向 MrDoc 的文檔編輯和修改模塊,它支持以 Markdown 和富文本兩種方式進行文檔編寫,給我們提供了 3 種編輯器使用。它能支持插入數(shù)學(xué)公式、流程圖、序列圖、腦圖、Echarts 圖形圖表和時間線,能夠添加音視頻鏈接和圖片附件等,能夠創(chuàng)建文檔模板,總之是概括不完了,圖也上不完了,需要在使用過程中慢慢的熟練。”

如何測試HelloGitHub

小白:“我現(xiàn)在也看得懂了,在 個人中心我的文檔文檔管理 中可以統(tǒng)一管理創(chuàng)建的所有文檔,還可以看到 歷史版本管理 信息呢,方便了用戶進行對比,也方便了團隊協(xié)作的管理?!?/p>

如何測試HelloGitHub

2.4 后臺管理【管理員】

HelloGitHub:“大 boss 的權(quán)限必然是很高的,一切都收之眼底,包括用戶的文集、文檔、文檔模塊,還可以進行用戶管理和站點設(shè)置?!?/p>

如何測試HelloGitHub

如何測試HelloGitHub

小白:“那我就做自己的主宰好了。”

三、上線部署

HelloGitHub:“已經(jīng)了解了一些功能了,但是只在本地跑會不會太拉垮了,是不是得考慮將這個項目部署到我們的云服務(wù)器上,讓自己的小團隊實現(xiàn)高大上的知識協(xié)作管理呀。”

小白:“可以和組里的小伙伴多了一個摸魚工具,想想就很開心~”

HelloGitHub:“先部署好吧,誰知道過程中會出現(xiàn)一堆坑呢。為了比較順利的進行,我們這次的方法就選用官方提供的比較完整的教程:使用 Nginx + uWSGI 部署 MrDoc?!?/p>

1、我們云主機的環(huán)境是:

  • Ubuntu 18.04.4 LTS

  • Python 3.6.9,pip 21.0.1

  • ~ 目錄下進行,即用 pwd 命令查看為:/home/purple,小伙伴們改成自己對應(yīng)的目錄

2、安裝 uWSGI 和 Nginx:

sudo apt-get install uwsgi
sudo apt install uwsgi-plugin-python3
sudo apt-get install nginx

3、將 MrDoc 的源碼拉取至本地(用之前的命令),但是為了不對服務(wù)器上現(xiàn)存的環(huán)境造成影響,我們這次需要用到虛擬環(huán)境

如何測試HelloGitHub

4、進入 MrDoc 文件夾,重復(fù)簡單測試的 3、4、5 步驟,分別實現(xiàn)依賴庫的安裝、初始化數(shù)據(jù)庫以及創(chuàng)建管理員賬號(略)。

5、我們在 ~ 目錄下新建一個名為 mrdoc_deploy 的文件夾,命令如下所示,用于存放部署的相關(guān)文件。

mkdir /home/purple/mrdoc_deploy

(1) uWSGI 配置文件:

mrdoc_deploy 目錄下新建一個名為 uwsgi_params 的文件,用 vim uwsgi_params 命令進行寫入:

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;
uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;
uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

mrdoc_deploy 目錄下新建一個名為 mrdoc_uwsgi.ini 的文件,同理用 vim mrdoc_uwsgi.ini 寫入:

[uwsgi]

# Django-related settings
socket = :8008
# the base directory (full path)
chdir           = /home/purple/MrDoc
virtualenv = /home/purple/mrdoc_env
# Django s wsgi file
module          = MrDoc.wsgi:application
wsgi-file       = MrDoc/wsgi.py
# process-related settings
# master
master          = true

# maximum number of worker processes
processes       = 1
threads = 2
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
plugins = python3
vacuum = true
python-autoreload = 1

# buffer size
buffer-size = 65536

注:如果后續(xù)運行服務(wù)的時候出現(xiàn)如下問題,則需要調(diào)整 mrdoc_uwsgi.ini 下的 buffer-size 參數(shù)。

spawned uWSGI master process (pid: 21172)
spawned uWSGI worker 1 (pid: 21173, cores: 2)
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip

(2) Nginx 配置文件

mrdoc_deploy 目錄下新建一個名為 mrdoc_nginx.conf 的文件,使用命令 vim mrdoc_nginx.conf 寫入如下內(nèi)容:

server {
    listen         80;
    server_name    此處填入域名;
    charset UTF-8;
    access_log      /var/log/nginx/mrdoc_access.log;
    error_log       /var/log/nginx/mrdoc_error.log;

    client_max_body_size 75M;

    location / {
        include /home/purple/mrdoc_deploy/uwsgi_params;
        uwsgi_pass 127.0.0.1:8008;
        uwsgi_read_timeout 60;
    }

    location /static {
        expires 30d;
        autoindex on;
        add_header Cache-Control private;
        alias /home/purple/MrDoc/static;
    }
    location /media  {
        alias /home/purple/MrDoc/media;
    }
}

注意在 server_name 參數(shù)中,需要填入自己的域名。此處我填的是云主機的公網(wǎng) IP 地址,之后訪問網(wǎng)站則需要輸入該 IP 地址。

(3) 為了能讓 MrDoc 應(yīng)用按我們的要求運行,使用 systemctl 工具來管理服務(wù)。

mrdoc_deploy 目錄下新建一個名為 mrdoc.service 的文件,用命令 vim mrdoc.service 將如下內(nèi)容寫入文件:

[Unit]
Description = MrdocApp
After = syslog.target

[Install]
WantedBy = multi-user.target

[Service]
WorkingDirectory = /home/purple/MrDoc
ExecStart = /usr/bin/uwsgi --ini /home/purple/mrdoc_deploy/mrdoc_uwsgi.ini
User = purple
Restart = always
StandardError = syslog~

6、添加進程管理

sudo systemctl enable /home/zmister/mrdoc_deploy/mrdoc.service

如何測試HelloGitHub

7、創(chuàng)建 Nginx 站點軟鏈接

sudo ln -s /home/zmister/mrdoc_deploy/mrdoc_nginx.conf /etc/nginx/sites-enabled/mrdoc_nginx.conf

8、啟動 MrDoc 服務(wù)

sudo systemctl start mrdoc.service

如何測試HelloGitHub

注意:當(dāng)試圖啟動的時候,出現(xiàn)如下報錯。原因是:在配置 mrdoc.service 的時候 ExecStart 參數(shù)如果按照官方文檔寫的是 uwsgi,但實際上應(yīng)該寫成絕對路徑(可以查看一下自己的路徑),我的是 /usr/bin/uwsgi。

(mrdoc_env) purple@VM-Purplezi-Ubuntu ~ % sudo systemctl start mrdoc.service
Failed to start mrdoc.service: Unit mrdoc.service is not loaded properly: Exec format error.
See system logs and 'systemctl status mrdoc.service' for details.

到此,關(guān)于“如何測試HelloGitHub”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)
推薦閱讀:
  1. MySQL測試
  2. PHP測試

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI