NodeJs+Expressはウェブサイトの記録を建設します
2827 ワード
Express Generatorで素早く開始 Expressアプリケーションジェネレータ をインストール Express generatorでnodewebプロジェクト を使用します. dependencies をインストール先ほど作成したプロジェクト を実行します. On MacOS or Linux On Windows,use this command: を得ることができます.
Serving static files in Express
gitでコードを同期する
サーバー上で、
PM 2で運転
pm 2のインストール
Webサイトの起動
pm 2起動スクリプトの生成
方式1
[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"
インストールNginx
現在
nginxのインストール
プロファイルの構文に間違いがないかどうかを確認します:
$ npm install express-generator -g
$ express --ejs nodeweb
を作成--ejsはejsをview engineとし、デフォルトでjade cd nodeweb
npm install
$ DEBUG=nodeweb:* npm start
> 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を開くことができるはずです.