国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

公司項目NODEJS實踐0.1[ ubuntu,nodejs,nginx...]

cppprimer / 2784人閱讀

摘要:創建成功后進入文件夾執行執行作用創建文件,維護項目的依賴文件解釋創建文件執行作用用系統的編輯器打開文件。我的技術新群上一篇前后端分離項目實踐分析下一篇公司項目實踐

一、前言

前端如何獨立用nodeJs實現一個簡單的注冊、登錄功能,是不是只用nodejs+sql就可以了?其實是可以實現,但離實際應用還有距離,那要怎么做才是實際可用的。

網上有很多nodeJs的示例,包括和 sql / nginx … 等周邊技術結合demo,但通常都是做為入門演示或解決某一問題,少有站在項目實際完整應用角度,給出一個整體的解決方案。一些前端朋友和我討論nodejs時,也多表現出對服務端的欠缺,雖然知道nodejs很好,但難以實際應用。

我在這塊做了些研究,也在公司項目中有應用,在此和大家分享下,如何用nodejs實現一個實際可用的項目,需要操作的步驟及相關的技術應用。現在還沒想好做怎樣的一個demo,就隨想隨做,如有意義的需求我們也可以一起實現下,若有欠缺,也歡迎共同討論。

第一次做,我們就先實現下最常用的注冊和登錄。

技術點:

1、用戶注冊站點,需要輸入用戶名、密碼、郵箱,驗證有效性。[ nodejs / express / validate / md5 / node-dev / requirejs ] 2、發送驗證郵件,用戶通過郵箱驗證后,注冊成功。[ mongodb / mailer ] 3、用戶登錄,可以訪問需要登錄權限的頁面[ redis / 權限控制 ] 4、本項目在linux上開發 及 發布部署 [ git / nginx / ubuntu / aliyun / pm2 ] 5、考慮到前后端分離的需要,我們也將分別搭建前臺服務(接收頁面請求)、后臺服務(數據存儲) [ 項目架構 ]

??*因涉及到的技術點較多,在本項目中每一種技術如nginx只對使用到的部分做講解,其它部分后面用到再講,循序漸進,基礎較弱者也好逐步接受。

??*本節,我們將實現unbuntu、nodejs、nginx的安裝及初步使用,搭建一個可訪問的服務

二、linux環境

本次開發將linux上開發,建議前端開發者嘗試使用linux系統,其能拓展技術面,在提升開發、發布效率等方面也有好處,初次使用linux會有些障礙,不過現在linux也有類win7的漂亮桌面環境,操作大致相似,在命令不熟時也可以正常使用,堅持用兩周,是可以適應的。

選擇系統上建議安裝適合個人開發者的ubuntu。

建議安裝雙系統,虛擬機太弱,完全安裝ubuntu,使用又不便,有些軟件如PS是不支持linux的。

win7下安裝ubuntu 的雙系統,WIN7安裝ubutntu 步驟參見 http://www.upopen.cn/article/info?id=559291b3f0e6e0665b000001

安裝成功后,我們就開始提高B格之旅,接下來會對用到的linux操作做簡單解釋,具體的ubuntu教程可以參考 http://www.upopen.cn/article/info?id=55938b7ff0e6e0665b000003

三、安裝nodeJs

快捷鍵 Ctrl + Alt + T 打開shell終端,

1、打開Nodejs站點 https://nodejs.org/download/,下載linux下對應的.gz文件。也可以拷貝下載地址后,

在shell里執行 wget https://nodejs.org/dist/v0.12.5/node-v0.12.5-linux-x64.tar.gz。

解釋:wget :下載后面路徑指定的文件

2、下載后默認在Downloads文件里,我們將壓縮文件放Soft/node 目錄里以便分類管理

shell執行 mkdir Soft // mkdir: 創建Soft文件夾

執行 cd Downloads //cd: 進入到 Downloads 下載文件目錄

執行 cp node-v0.12.5-linux-x64.tar.gz /home/cc/Soft
//cp: 復制 node..gz到Soft目錄下,注意cc是你的主機名,可通過pwd查看

執行cd //進入個人根目錄

執行cd Soft/node

執行 tar -zxvf node-v0.12.5-linux-x64.tar.gz //tar -zxvf 解壓

執行 mv node-v0.12.5-linux-x64.tar.gz node //mv : 修改文件夾名為node

執行sudo vi /etc/profile //打開環境變量配置文件

在最后寫入

javascriptexport PATH="/home/cc/Soft/node/bin:$PATH"
export NODE_PATH="/home/cc/Soft/node/lib/node_modules"

// 環境變量地址參見 node的 pwd

配置成功后重啟

作用:重啟后,可執行node -v查看是否安裝成功。

解釋:本部涉及到ubuntu的基本命令操作,都有簡單的解釋

四、創建項目目錄并安裝express等框架包

目錄結構

root:項目根目錄
??web:前端服務
??
static:靜態服務
??*server:后端服務

1、執行 mkdir -p root/web

作用:創建目錄,所有項目都在root下,前端服務在web。創建成功后進入web文件夾 執行cd root/web

2、執行touch package.json

作用:創建 package.json文件,維護nodejs項目的依賴文件

解釋:touch :創建文件

4、執行 vi package.json

作用:用系統的VI編輯器打開 package.json文件。用vi作大量的編輯工作是不適合的,我們還是用常規的編輯器,在桌面打開文件系統,進入我們創建的root/web目錄,使用系統默認的gedit編輯器打開package.json

5、通過gedit在package.json寫入

javascript{
??"name": "myCoolNodejs ",
??"version": "0.0.1",
??"private": true,
??"scripts": {
???"start": "node app.js"
??},
??"dependencies": { //主要是這兩處,設置引入模塊,后面還會用到其它模塊,另行添加
???"express": "*",
???"ejs": "*"
??}
}

6、執行npm install

作用:下載package.json中dependencies 定義的引入模塊

注意:有時限制于網絡等因素npm install會安裝不成功,可以使用淘寶的npm鏡像,執行 npm install -g cnpm --registry=https://registry.npm.taobao.org,安裝cnpm,執行cnpm install 。使用同npm。

7、通過桌面打開 web文件夾,創建app.js,并寫入基本配置

javascript        /**
        * 引入依賴模塊
        */
        var express    = require( "express" ),
        http              = require( "http" ),
        path             = require( "path" );

        var app        = express(),
        server     = http.Server( app );

        /**
        * 設置
        */
        app.set( "port", process.env.PORT || 3000 ); //服務啟動端口
        app.set( "views", __dirname + "/views" ); //視圖文件
        app.set( "view engine", "ejs" ); //頁面引擎
        app.use( "/", express.static( path.join( __dirname, "assets" ))); //靜態文件路徑

        app.get( "/", function( req, res ){
                res.render( "index.ejs" ); //請求跳轉到 index.ejs文件
        })
        server.listen( app.get( "port" ), function(){ //監聽服務端口
                console.log( "root server listening on port " + app.get( "port" ));
        } );

        server.on( "close", function(){
                console.log( "close" );    
        } );

8、web目錄下創建views文件夾,里面再創建index.ejs文件作為首頁

9、打開index.ejs文件,并寫入

javascript        
        
        
        我的nodejs項目
        
        
            

我的nodejs項目

作用:ejs語法同html,優勢在于其可以引用一些命令,如接收服務服務端定義的數據、include模板等

10、在web目錄下創建文件夾 assets/public/imgs,拷入logo.png 圖片

11、shell到web目錄,執行 node app.js,在瀏覽器打開 127.0.0.1:3000,即可看到我們在index.ejs里設置的內容,如圖

12、在root在創建 statc文件夾,作為靜態服務資源,將目錄web/assets/下的文件,復制到static里,下面nginx將設置靜態文件代理到static服務器

五、安裝nginx

1、shell執行sudo apt-get install nginx

作用:安裝nginx服務器,nginx的使用可參見http://www.upopen.cn/article/info?id=559254e8b269230039000003

2、執行sudo vi /etc/nginx/sites-enabled/default

作用:因配置文件需要編輯的命令較少,我們嘗試通過vi 編輯 nginx的配置文件。vi命令操作參見http://www.upopen.cn/article/list?kind=ubuntu

    在server里增加
javascript        location  ~ .(png|jpg|css|js|woff|ttf|less|gif)$ {
            root /home/jgc/root/static/;
            #配置以上面結尾的文件都指向到 /home/cc/root/static。注意/cc/修改為你的計算機名
        }
        location / {
            proxy_pass http://mynodejs.com;
            #其它請求轉向到 http://mynodejs.com; 該名稱可以自定義
        }
    在server外面新增
javascript        upstream mynodejs.com { //此處名稱與上面proxy_pass名稱一致
            server 127.0.0.1:3000;
        #創建集群,為分攤服務器壓力,可以創建多個服務器,做負載均衡,如果我們將web復制一份為web1,啟動端口改為3001,將其啟動后,此處可以再增加一條配置
            server 127.0.0.1: 3001
            # 這樣訪問便可隨機指向3000 及 3001服務,分攤訪問壓力、降低服務宕機風險
        }

3、在shell 執行 sudo /etc/init.d/nginx start

作用:啟動nginx服務

4、此時訪問127.0.0.1也打開了和 3000一樣的頁面,不同在于其靜態資源是從static文件夾獲取的,可以通過刪除web中的assets文件測試。我們后續靜態文件都在statc里編輯,發布時static和web放在不同的服務器上,即實現了資源分離,為CDN做準備,

5、執行sudo vi /etc/hosts

作用:打開本地host映射文件,新增一條 127.0.0.1 www.mynodejs.com。保存后,瀏覽器訪問 www.mynodejs.com。

六、總結

本節我們使用、開發了如下功能

1、ubuntu的安裝和使用

2、nodejs的安裝 及 模塊安裝

3、nodejs文件的簡單配置和啟動,項目目錄的劃分

4、nginx安裝、簡單配置 及 啟動 [ 反向代理及集群 ]

如果你原本只是一個單純寫html/css/js的前端開發員,相信這節是可以學到相當多的新知識,下節,我們將主要在nodejs及 mongo這一塊,并按實際項目使用創建項目架構。

有不明或錯誤,歡迎加群討論,謝謝。

我的技術新Q群:435485569 上一篇:前后端分離項目實踐分析 下一篇:公司項目NODEJS實踐0.2[ express, ajax.. ]

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39164.html

相關文章

  • docker 應用系列(一)--- 一步步搭建虛擬機 docker 環境 附有 vue-cli +

    摘要:為確保系統里面沒有自帶的軟件的殘留,我們要清除一下舊版本的,雖然新系統一般都不會有就是了。更新軟件包緩存。 showImg(https://segmentfault.com/img/remote/1460000015914895?w=1240&h=819); 小劇場 測試:褲襠你這頁面刷新就白屏啊,怎么了啊,而且你看這 network,怎么這些 js 這么大啊,很耗流量而且加載速度還很...

    hatlonely 評論0 收藏0
  • NodeJS項目遷移兼UbuntuNodeJS環境部署

    摘要:前言之前做的幾個項目都托管在阿里云服務器,但是最近要到期了。環境部署折騰了一天,其中也遇到幾個坑。項目遷移歷時一天,兩臺服務器的系統都是位。 前言 之前做的幾個項目都托管在阿里云服務器,但是最近要到期了。想著到底要不要續期,畢竟100/月。后面看著阿里云有個活動,800/三年。果斷買下。環境部署折騰了一天,其中也遇到幾個坑。 目錄 一、安裝環境 1.1 安裝NodeJS環境 ...

    jlanglang 評論0 收藏0
  • NodeJS項目遷移兼UbuntuNodeJS環境部署

    摘要:前言之前做的幾個項目都托管在阿里云服務器,但是最近要到期了。環境部署折騰了一天,其中也遇到幾個坑。項目遷移歷時一天,兩臺服務器的系統都是位。 前言 之前做的幾個項目都托管在阿里云服務器,但是最近要到期了。想著到底要不要續期,畢竟100/月。后面看著阿里云有個活動,800/三年。果斷買下。環境部署折騰了一天,其中也遇到幾個坑。 目錄 一、安裝環境 1.1 安裝NodeJS環境 ...

    source 評論0 收藏0
  • ubuntu部署使用pm2部署nodejs項目 + pm2和nginx開機自啟動

    摘要:安裝更新軟件源安裝但是這個版本是只能使用查看無效安裝安裝模塊用這個模塊升級一定要加升級到最新版此時可以用查看版本安裝安裝開發庫下載安裝包解壓安裝包進入文件將安裝到目錄下目錄自 nodejs安裝 apt update --更新軟件源 apt install nodejs --安裝nodejs,但是這個版本是4.2.6(只能使用nodejs -v 查看,node 無效) apt i...

    shixinzhang 評論0 收藏0

發表評論

0條評論

cppprimer

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<