NodeJs+Expressはウェブサイトの記録を建設します

2827 ワード

Express Generatorで素早く開始
  • Expressアプリケーションジェネレータ$ npm install express-generator -g
  • をインストール
  • Express generatorでnodewebプロジェクト$ express --ejs nodewebを作成--ejsはejsをview engineとし、デフォルトでjade
  • を使用します.
  • dependencies
  • をインストール
    cd nodeweb
    npm install
    
  • 先ほど作成したプロジェクト
  • を実行します.
  • On MacOS or Linux $ DEBUG=nodeweb:* npm start
  • On Windows,use this command:> set DEBUG=myapp:* & npm startここのDEBUGはnodeのenvironment variableで、jsファイルではprocess.env.DEBUGで前に設定したDEBUGの値
  • を得ることができます.
    Serving static files in Express app.use('/static', express.static(path.join(__dirname, 'public'))) express.staticはexpressの内蔵middlewareです.
    gitでコードを同期する
    サーバー上で、ce ~/web、ウェブサイトのコードcloneを下ろします
    PM 2で運転
    pm 2のインストールnpm install pm2@latest -g
    Webサイトの起動pm2 start apps.json
    pm 2起動スクリプトの生成
    方式1$ pm2 startup centos
    [PM2] You have to run this command as root. Execute the following command: sudo su -c "env PATH=$PATH:/usr/bin pm2 startup centos -u red --hp/home/red"
    sudosuを...この文をコピーし、/etc/initで再実行します.d/次にpm 2-initを生成する.shは、システムが起動するたびに自動的に実行されます.
    方式2
    方式1で生成するスクリプトはinit.dディレクトリ、centos 7はもうsystemdを使っているので、次の方法がもっといいです.
    [PM2] You have to run this command as root. Execute the following command: sudo su -c "env PATH=$PATH:/usr/bin pm2 startup systemd -u red --hp/home/red"$ pm2 startup systemdを再度運転すると、sudo su -c "env PATH=$PATH:/usr/bin pm2 startup systemd -u red --hp /home/red"の下に/etc/systemd/systemが発生する.
    インストールNginx
    現在pm2.service、サイトは稼働していますが、3000ポートはfirewalldによって封鎖されており、サーバ外部からはサイトを開くことはできません.この場合firewalldにサービス3000ポートを追加したり、nginxを逆エージェントとしてインストールしたりすることができます.
    nginxのインストールcurl localhost:3000 nginxデフォルト構成のserver部分を削除し、sudo yum install nginxを開き、server{......}を削除します.中身、保存.modular構成を追加し、/etc/nginx/nginx.confのhttp部分に/etc/nginx/nginx.confを見つけます.この言葉はデフォルトで存在するようです.my-webの構成を追加し、/etc/nginx/conf.d/でファイルmy-webを新規作成します.conf,コンテンツの追加
    
    server {
            listen 80;
            server_name yy.xx.com;
            location / {
                    proxy_pass http://127.0.0.1:3000/;
                    proxy_redirect     off;
                    proxy_set_header   Host             $host;
                    proxy_set_header   X-Real-IP        $remote_addr;
                    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                   #client_max_body_size 100m;
            }
    }
    

    プロファイルの構文に間違いがないかどうかを確認します:include /etc/nginx/conf.d/*.conf nginxを再起動し、sudo nginx -tこの場合、ローカルマシンhttp://yy.xx.commy-webを開くことができるはずです.