欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

手把手教你從零上線小程序+Node.js服務(wù)端 (下) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >

手把手教你從零上線小程序+Node.js服務(wù)端 (下)

發(fā)表時間:2021-1-5

發(fā)布人:葵宇科技

瀏覽次數(shù):51

六、搭建線上數(shù)據(jù)庫

也就是把我們的本地數(shù)據(jù)庫到服務(wù)器上照搬一套。

第一步,下載mysql

第二步,利用phpMyAdmin 實現(xiàn)網(wǎng)頁可視化數(shù)據(jù)庫,方便查看和管理

LNMP

有一個LNMP一鍵安裝包可以幫助我們快速在服務(wù)器上搭建好Nignx、MySQL和PHP,省去自己單個下載的麻煩。

  • 進(jìn)入頁面后,新手可以參照下圖選擇。MySQL和PHP必選,一些不了解的不需要用到的暫時不安裝了。


  • 點擊生成,把生成的安裝命令復(fù)制到服務(wù)器命令行下(右鍵就是復(fù)制),回車即可。
  • 安裝過程非常慢,不用等,可以先看看之后的操作。

安裝完成后,輸入lnmp看看是否出現(xiàn)相關(guān)信息,若出現(xiàn)了表示安裝成功了。

image.png

lnmp mysql start 啟動數(shù)據(jù)庫。

輸入網(wǎng)址yourIp/phpmyadmin即可看到線上數(shù)據(jù)庫,需要輸入賬戶和密碼。

導(dǎo)出.sql

將本地電腦上創(chuàng)建好的數(shù)據(jù)庫導(dǎo)出為.sql (創(chuàng)建該數(shù)據(jù)庫的命令sql集合)避免在云服務(wù)器上重復(fù)創(chuàng)建了。

  1. 選擇Adminitration
  2. Data Export 數(shù)據(jù)導(dǎo)出
  3. 選擇想要導(dǎo)出的數(shù)據(jù)庫
  4. 導(dǎo)出表格還是導(dǎo)出數(shù)據(jù)還是都導(dǎo)出,這里只導(dǎo)出表格
  5. 導(dǎo)出為一個.sql文件,選擇導(dǎo)出目錄
  6. 包括數(shù)據(jù)庫創(chuàng)建
  7. 開始導(dǎo)出
image.png

然后,我們拿到了mini_demo.sql

導(dǎo)入.sql

來到phpMyAdmin頁面,登錄之后選擇主頁,點擊導(dǎo)入,選擇剛剛生成的sql文件,滾動到最下面點擊執(zhí)行。

image.png

最后執(zhí)行結(jié)果應(yīng)該為這樣。如果導(dǎo)入過程出現(xiàn)報錯,發(fā)現(xiàn)原因后可以打開sql文件手動修改。比如B表有個外鍵引自

A表,那必須要先創(chuàng)建A表,否則就會報錯,這時候把兩個表的創(chuàng)建命令換一下位置就行。

image.png

檢查一下,沒錯。

image.png

恭喜你,線上數(shù)據(jù)庫搭建完了。(lnmp可能還在下載,先看看下一節(jié))

七、部署到云服務(wù)器并啟動

上線其實很簡單,無非就是讓我們的后端代碼在云服務(wù)器上跑起來。

如果你還不知道云服務(wù)器是什么,可以去阿里云點點看看。如果你是個學(xué)生并且對開發(fā)有興趣,(請趕快買吧!)學(xué)生價還是很香的喲。

到此為止,假設(shè)我們已經(jīng)擁有了自己的服務(wù)器。

登錄服務(wù)器

  • 打開終端
  • ssh root@yourip
  • 輸入密碼
  • 登錄成功
image.png

拉取代碼

如果你的本地代碼還沒上傳到GitHub,趕緊的先上傳。步驟就不再贅述,一搜便是。

  • git 可用

git --version 查看git是否可用,若出現(xiàn)版本號,直接開始拉取代碼。

image.png

若報錯,可以使用yum install git 下載git(云服務(wù)器的操作系統(tǒng)通常會自帶yum)

下載完后,添加用戶名和郵箱

git config --global user.name 'yourName'
git config --global user.email 'your Email'
復(fù)制代碼
  • clone 項目

進(jìn)入到目錄后,使用git clone <項目地址> 拉取代碼到服務(wù)器上。

若使用ssh地址并且服務(wù)器上的git密鑰沒有添加到你的GitHub帳號上,會報無權(quán)限錯誤,有兩種解決方法(推薦2)

  1. 改用https地址clone
  2. ssh-keygen -t rsa -C 'yourEmaill' 生成密鑰并添加到GitHub帳號上。

重新clone

image.png

啟動項目

  • 進(jìn)入項目目錄 cd xxx (按下tab鍵會有文件夾名稱提示)
image.png
  • 下載依賴包 npm install ,可簡寫為npm i

若command not found ,說明沒有npm環(huán)境,同時檢查一下是否有node,不存在可以參考此文章進(jìn)行下載,兩種方式選擇一種就行。

image.png
  • 按照本地同樣的方式啟動 export XXX="xxx" ... && node index.js
image.png
  • 若出現(xiàn)以上信息,說明云服務(wù)器本地已經(jīng)成功啟動服務(wù)端了,外界訪問它的地址是 yourIP:端口號

例如,我的是這個地址(域名通過DNS解析最后訪問的也是ip地址)

持久化

普通的node 啟動項目,當(dāng)退出終端之后,服務(wù)端也就停止運(yùn)行了,不能實現(xiàn)隨時隨地訪問。

我們使用npm包 pm2 工具持久化運(yùn)行。

npm install pm2 -g下載

pm2 -v檢測

然后使用下面的命令啟動項目,請先填入自己的環(huán)境變量信息。

pm2 start index.js --env={"DATABASE": "","USER": "","PWD":"","APPID": "","SECRET": ""}
復(fù)制代碼

但是通過這種方式啟動起來的項目不會輸出信息,所以先確保使用node啟動沒問題后,再使用該方法啟動,否則一旦出錯,都不知道問題在哪里。

線上聯(lián)調(diào)

這時把小程序的baseUrl 替換為我們的服務(wù)器啟動該項目的地址,然后開始調(diào)試吧。

過程中總會出現(xiàn)問題的,遇到問題不要心急,要從可能的錯誤原因一個個排查。

分享一個我的錯誤吧,login登錄的時候報的錯。

image.png

訪問數(shù)據(jù)庫被拒絕,需要密碼。第一反應(yīng)是數(shù)據(jù)庫的問題,mysql -u root -p 輸入密碼后就進(jìn)入數(shù)據(jù)庫了,那說明數(shù)據(jù)庫本身沒問題,可能的原因就是環(huán)境變量的用戶名和密碼寫錯了,檢查一下輸出,果然密碼的引號是中文格式的,所以報錯了。

修改完后重啟,就沒什么問題了。

八、配置https

小程序發(fā)布和聯(lián)調(diào),服務(wù)端地址都需要使用https協(xié)議,否則啥也訪問不到。

https證書申請通常是和域名綁定的,所以我們先需要一個域名。在阿里云域名或者騰訊云域名下購買一個域名。

ip地址改域名

個人購買的絕大部分是二級域名,也就是a.b形式的。拿到域名后,去域名解析頁添加域名,然后添加記錄(三級域名)。

什么是二三級域名?例如tieba.baudu.com,其中.com是一級(頂級)域名,baidu是二級域名,tieba是三級域名。二級域名可以衍生出很多三級域名。

image.png

這種不對外開放的后端地址,我們添加一個三級域名映射即可。

主機(jī)記錄就是三級域名名字

記錄類型為CNAME 表示映射到記錄值對應(yīng)的ip地址;如果為A 表示映射到ip。這樣的好處就是如果ip有變動,只修改一次ip即可

記錄值就是ip地址,可以為ip或者域名

最后點擊確認(rèn)即可

image.png

我最后要訪問的服務(wù)器地址就是mini_demo.escript.cn,進(jìn)入之后的頁面與直接訪問自己的ip地址一樣,說明域名解析成功了。

申請SSl證書

阿里云或騰訊云上可以免費(fèi)購買ssl證書,前提需要實名認(rèn)證。

image.png

買完后綁定上一步生成的域名,驗證通過后就可以下載使用了。

這是阿里云的免費(fèi)證書,點擊下載,選擇其中一個服務(wù)器,這樣下載到的是本地電腦上。

image.png

如果項目在自己電腦上運(yùn)行,我們可能直接會把證書文件放到項目文件夾里,但如果該項目要上傳到服務(wù)器,則下載的證書文件最好不要直接暴露在項目中,可以選擇下載到服務(wù)器別的文件夾里。

有兩種方法

  • 直接下載到服務(wù)器:wget url下載鏈接
  • 若url失效,則先下載到本地,使用scp xxx.zip root@ip:/root/https ,使用unzip xxx.zip 命令解壓

啟動https服務(wù)

需要最后一次修改服務(wù)端代碼。

下載httpsnpm i https,用來啟動https服務(wù)。

// index.js

const https = require("https")

// SSL options
// 若讀取不到文件,則啟動http服務(wù)
try {
  const options = {
    key: fs.readFileSync("/root/https/xxx.key"), //ssl文件路徑  下載下來的證書文件
    cert: fs.readFileSync("/root/https/xxx.pem") //ssl文件路徑  下載下來的證書文件
  };
  // 創(chuàng)建https 服務(wù)
  const httpsServer = https.createServer(options, app.callback());
  httpsServer.listen(443); // 默認(rèn)監(jiān)聽443
  console.log("已啟動https服務(wù)");

} catch (error) {
  app.listen(3000);
  console.log("無證書文件!已啟動http服務(wù),端口3000");
}
復(fù)制代碼

這些也都先在本地電腦上編碼測試,通過之后再上傳到服務(wù)器。

這個過程應(yīng)該沒什么問題。完成后,與之前一樣自測一遍https接口,通過之后把小程序的baseUrl改成最新的https地址。

過五關(guān)斬六將,終于來到了激動人心的時刻。

確保你的小程序本地編譯都通過后,來,向前一步,讓夢想照進(jìn)現(xiàn)實。

九、審核發(fā)布

上傳

進(jìn)入微信開發(fā)者工具,點擊右上角的上傳按鈕,跳出一個提示彈窗,點擊確定。

image.png

然后輸入版本號和備注。

如果是正式版,可以發(fā)布為v1.0.0;試用版v0.0.x

版本號不是隨意取的。雖然輸入什么都可以上傳成功,但作為一名(專業(yè)的)開發(fā)人員最好還是遵守一下約定,以后工作中都用得上。

image.png
image.png

體驗版

上傳成功之后,登錄小程序,進(jìn)入版本管理。

最下面的開發(fā)版本就是剛剛上傳的版本,可以將其選為體驗版,頁面路徑就是進(jìn)入小程序的首頁。

掃描二維碼進(jìn)入體驗版,但只有管理員和體驗者有權(quán)訪問,在成員管理可以添加體驗者。

審核版

開發(fā)版需要先提交審核,點擊一些下一步/確定的按鈕們后,再填寫一些信息,其中版本描述是用戶能夠看到的小程序信息之一,所以不要亂寫,別的信息都是選填,不填問題也不大。

image.png

提交審核之后,該版本就變成了審核版本。

審核版本先是機(jī)器審核,然后人工審核。主要看小程序?qū)τ脩舻臋?quán)限申請是否規(guī)范以及本身是否有問題,現(xiàn)在已經(jīng)越來越嚴(yán)格了。(有一次我連續(xù)審核了六次都沒過,最后提出異議,就過了。。

線上版

審核通過之后,審核版本發(fā)布,管理員掃碼確認(rèn),就發(fā)布成功了。這個版本會變成線上版本

緊接著,就能在微信上搜到自己的小程序了。

總結(jié)

到底為此,小程序的第一版就over了,我們對如何開發(fā)、上線一個以Node.js為服務(wù)端的小程序,也應(yīng)該有了大致了解。接下來就是版本迭代與維護(hù),實現(xiàn)方法大同小異,相信這時候的你已經(jīng)心里有底了。


作者:豬是倒著讀的
鏈接:https://juejin.im/post/6875595382500360200
來源:掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

相關(guān)案例查看更多