Nodeチュートリアルの整理
morgan(「組合せ」)の使用
expressセッションは、オプションを分離しproxy=trueに処理する方法でセッションのオプションを変更する必要があります.
httpsはsecure trueです.
httpsを適用するときのセッション.Option.cookie.Secure=true書き込み
プロキシ適用時
警備員のためです.
app.use(helmet({ contentSecurityPolicy: false }));
外部cssロード時に多くのエラーが発生しますが、これは基本的に最良です.
config.jsでconfigjsonを変えdotnvでインポートしてパスワードを再非表示にします
NODE ENV=production PORT=80 node serverというものをstartコマンドに置き換えると、nodemonはなくなります.Windowsに入らずにenvに入るため、corss-envインストールでこのコマンドを有効にすることができます.
XSS攻撃防御.npm i santize-htmlなどの許可されていないhtml入力やjsスクリプトを防止します.それらはみなおばさんです.
dbはsantize-htmlでフィルタされた文字列を保存するだけです.
CSRF攻撃はcsurfモジュールでインストールできます.他の人が要求したように、隠れた攻撃です.
タグを発行し、ミドルウェアを最初に取得したときにインプラントし、最後のタスクに同じタグがあるかどうかを確認できます.
sql injectionの後遺症はそれほど悪くない.
この方法で安全性を考えたほうがいいです.
cross-envエラーが発生した場合、サーバはすぐに閉じます.プロセスマネージャを使用して解決します.
クラスタでもやります
美しい再ロード(既存のサーバと同時に2番サーバを開いて2番サーバに到着したことを確認した後、2番サーバをスムーズにスキップします).
プロセス間でサーバメモリリソースを共有できません.(これはノードの問題で、ノードのスレッドを書き込む必要があります)
メモリ共有db(memcashedやredisなど)を使用します.
セッションをRedisなどのメモリデバイスに格納し、サーバごとに共有することで、ログインメンテナンスなどの機能を実現します.
npx pm 2 listを使用して複数の情報を理解します.
linuxまたはmacはsudoを貼り付けることができます.
-i-0のコア数はいくらですか.-i-1カーネルを1個使用
残りのタスクは、ノード以外のタスクを実行することです.fs、cryptoのようなものを残します.
npx pm 2 kill/reload/mito/(logs-err)この方法で殺す、再起動する、リアルタイムでサーバログでチェックする、履歴ログ
winston
console.log, console.errorはサーバーがオフになるとすぐに飛んでしまうので、Winstonは自分でログを見ているメリットがあります.
最近ではawsやstack driverなど様々なものが自己処理の必要性を減らしています.
console.log
console.info
console.warn
console.error
winston-daily-rotate-fileを使うと日付通りに作ります
開発時にコンソールに表示できます.
loggerモジュールをエクスポートし、appなどでコンソールを使用します.logではなくlogger.ロゴで書けばいい
format:format.json()とformat:format.シンプル()は、導入と開発にそれぞれ使用できます.
Redis実験室は無料です.
connect-redis redis npmのredisはredis labsとは異なり、ここでのredisはドライバロールにすぎません
Windowsはredisをインストールするのが難しい.memuraiは唯一の代替案かもしれません.
redis dbを使用する場合は、文法があるので、単独で学ぶ必要があります.
redisは、単純な配置とキャッシュに使用されます.頻繁にアクセスするデータ、セッションデータなどのみ使用します.
そのconnect-redis、redisは文法がわかりませんが、簡単にアクセスできます.
npm i-g npmを使用して更新できます.
node updateはnvm installerです
nvmインストールバージョンに更新されました.
実際に作業する場合は、MySQLサーバとNodeサーバを別々にしたほうがいいです.
AWSのS 3など、画像ファイルなどは単独で配置するのが望ましい.あるいは、サーバ容量を増やすと、イメージはすべてのサーバにコピーされます.
イメージ調整はイメージ容量を減らすことで格納され、ノードサーバはCPU演算を過剰に必要とする.
Lightsale=>S 3<=>ランダ
(nodebird)(1.アップロード画像)(2.ランダフリップフロップ)(3.再調整画像S 3に保存)
サーバリース
https://に書き込むには、エージェントを設定し、ドメインを必要とします.
sudo npm start && sudo npx pm2 monit
http://54.180.126.117/ノードBudd Webサイト
サーバ・リース・サイトは、サーバがないことを意味しますが、サーバを直接実行する必要はありません.
コードをアップロードした後、使用状況に応じて料金を払えばいいです.
24時間の実行が不要な場合、この効果はさらに大きくなります.
aws secret keyのような鍵を受信することができる.awsセキュリティポリシー
実際の操作では、この鍵権限を使用する必要はありません.したがって、iam鍵を使用して権限を削減できます.
s 3は地域には関係ありませんが、ラムダなどと関係があるので、しっかりしたほうがいいです.
投稿を削除すると、画像を削除せずに資産として残す場合があります.
expressセッションは、オプションを分離しproxy=trueに処理する方法でセッションのオプションを変更する必要があります.
httpsはsecure trueです.
httpsを適用するときのセッション.Option.cookie.Secure=true書き込み
プロキシ適用時
app.enable('trust proxy');
if (process.env.NODE_ENV === 'production') {
sessionOption.proxy = true;
// sessionOption.cookie.secure = true; //https 사용시
}
ヘルメット、hppの2つは習慣のように入れたほうがいいです警備員のためです.
app.use(helmet({ contentSecurityPolicy: false }));
外部cssロード時に多くのエラーが発生しますが、これは基本的に最良です.
config.jsでconfigjsonを変えdotnvでインポートしてパスワードを再非表示にします
NODE ENV=production PORT=80 node serverというものをstartコマンドに置き換えると、nodemonはなくなります.Windowsに入らずにenvに入るため、corss-envインストールでこのコマンドを有効にすることができます.
XSS攻撃防御.npm i santize-htmlなどの許可されていないhtml入力やjsスクリプトを防止します.それらはみなおばさんです.
dbはsantize-htmlでフィルタされた文字列を保存するだけです.
CSRF攻撃はcsurfモジュールでインストールできます.他の人が要求したように、隠れた攻撃です.
タグを発行し、ミドルウェアを最初に取得したときにインプラントし、最後のタスクに同じタグがあるかどうかを確認できます.
sql injectionの後遺症はそれほど悪くない.
この方法で安全性を考えたほうがいいです.
cross-envエラーが発生した場合、サーバはすぐに閉じます.プロセスマネージャを使用して解決します.
クラスタでもやります
美しい再ロード(既存のサーバと同時に2番サーバを開いて2番サーバに到着したことを確認した後、2番サーバをスムーズにスキップします).
プロセス間でサーバメモリリソースを共有できません.(これはノードの問題で、ノードのスレッドを書き込む必要があります)
メモリ共有db(memcashedやredisなど)を使用します.
セッションをRedisなどのメモリデバイスに格納し、サーバごとに共有することで、ログインメンテナンスなどの機能を実現します.
cross-env NODE_ENV=production PORT=80 pm2 start server.js -i -1이나 -i -0 해서 함.
処理する.npx pm 2 listを使用して複数の情報を理解します.
linuxまたはmacはsudoを貼り付けることができます.
-i-0のコア数はいくらですか.-i-1カーネルを1個使用
残りのタスクは、ノード以外のタスクを実行することです.fs、cryptoのようなものを残します.
npx pm 2 kill/reload/mito/(logs-err)この方法で殺す、再起動する、リアルタイムでサーバログでチェックする、履歴ログ
winston
console.log, console.errorはサーバーがオフになるとすぐに飛んでしまうので、Winstonは自分でログを見ているメリットがあります.
最近ではawsやstack driverなど様々なものが自己処理の必要性を減らしています.
console.log
console.info
console.warn
console.error
const logger = createLogger({
level: 'info',
format: format.json(),
transports: [
new transports.File({ filename: 'combined.log' }),
new transports.File({ filename: 'error.log', level: 'error' }),
],
});
if (process.env.NODE_ENV !== 'production') {
logger.add(new transports.Console({ format: format.simple() }));
}
これらを利用してレベル別にwinston-daily-rotate-fileを使うと日付通りに作ります
開発時にコンソールに表示できます.
loggerモジュールをエクスポートし、appなどでコンソールを使用します.logではなくlogger.ロゴで書けばいい
format:format.json()とformat:format.シンプル()は、導入と開発にそれぞれ使用できます.
Redis実験室は無料です.
connect-redis redis npmのredisはredis labsとは異なり、ここでのredisはドライバロールにすぎません
Windowsはredisをインストールするのが難しい.memuraiは唯一の代替案かもしれません.
redis dbを使用する場合は、文法があるので、単独で学ぶ必要があります.
redisは、単純な配置とキャッシュに使用されます.頻繁にアクセスするデータ、セッションデータなどのみ使用します.
そのconnect-redis、redisは文法がわかりませんが、簡単にアクセスできます.
const redisClient = redis.createClient({
url: `redis://${process.env.REDIS_HOST}:${process.env.REDIS_PORT}`,
password: process.env.REDIS_PASSWORD,
});
//밑에꺼를 session에다 넣음.
store: new RedisStore({ client: redisClient }),
このようにexpress-rate-limitのようなものもrate-limit-redisパケットでredisに移行する.サーバを再起動してメモリに使用状況を書き込むと、使用状況が初期化されます.npm i-g npmを使用して更新できます.
node updateはnvm installerです
nvmインストールバージョンに更新されました.
実際に作業する場合は、MySQLサーバとNodeサーバを別々にしたほうがいいです.
AWSのS 3など、画像ファイルなどは単独で配置するのが望ましい.あるいは、サーバ容量を増やすと、イメージはすべてのサーバにコピーされます.
イメージ調整はイメージ容量を減らすことで格納され、ノードサーバはCPU演算を過剰に必要とする.
Lightsale=>S 3<=>ランダ
(nodebird)(1.アップロード画像)(2.ランダフリップフロップ)(3.再調整画像S 3に保存)
サーバリース
https://に書き込むには、エージェントを設定し、ドメインを必要とします.
sudo npm start && sudo npx pm2 monit
http://54.180.126.117/ノードBudd Webサイト
サーバ・リース・サイトは、サーバがないことを意味しますが、サーバを直接実行する必要はありません.
コードをアップロードした後、使用状況に応じて料金を払えばいいです.
24時間の実行が不要な場合、この効果はさらに大きくなります.
aws secret keyのような鍵を受信することができる.awsセキュリティポリシー
実際の操作では、この鍵権限を使用する必要はありません.したがって、iam鍵を使用して権限を削減できます.
s 3は地域には関係ありませんが、ラムダなどと関係があるので、しっかりしたほうがいいです.
投稿を削除すると、画像を削除せずに資産として残す場合があります.
Reference
この問題について(Nodeチュートリアルの整理), 我々は、より多くの情報をここで見つけました https://velog.io/@presentsong/node교과서-정리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol