nginx 将serve命令转换为pm2配置文件

vsnjm48y  于 2023-11-17  发布在  Nginx
关注(0)|答案(1)|浏览(161)

我使用以下命令运行reactjs应用程序(我使用nginx的docker(172.18.0.199),172.17.0.1是Linux主机本身)

  1. pm2 serve -l tcp://172.17.0.1:3001 -n -s build --ssl-cert cert/cert.pem --ssl-key cert/key.pem

字符串
它工作得很好,但我想做一个js.js来运行,这里是文件

  1. module.exports = {
  2. apps: [
  3. {
  4. name: "frontend",
  5. script: "/usr/bin/serve",
  6. args: [
  7. "-l tcp://172.17.0.1:3001 -n -s build --ssl-cert cert/cert.pem --ssl-key cert/key.pem"
  8. ],
  9. exec_mode: "fork_mode",
  10. error_file: "./logs/frontend-error.log",
  11. out_file: "./logs/frontend-out.log",
  12. instances: 1,
  13. autorestart: true,
  14. watch: false,
  15. max_memory_restart: "10G",
  16. env: {
  17. PM2_SERVE_SPA: "true",
  18. },
  19. },
  20. ],
  21. };


当我检查PM2日志时

  1. 11|fronten | Exposing /home/ubuntu/src/mydomain/frontend/-c directory on 0.0.0.0:8080
  2. 11|fronten | Exposing /home/ubuntu/src/mydomain/frontend/-c directory on 0.0.0.0:8080
  3. 11|fronten | Exposing /home/ubuntu/src/mydomain/frontend/-c directory on 0.0.0.0:8080
  4. 11|fronten | Exposing /home/ubuntu/src/mydomain/frontend/-c directory on 0.0.0.0:8080
  5. 11|fronten | Exposing /home/ubuntu/src/mydomain/frontend/-l tcp:/172.17.0.1:3001 build --ssl-cert cert/cert.pem --ssl-key cert/key.pem directory on 0.0.0.0:8080
  6. 11|fronten | Exposing /home/ubuntu/src/mydomain/frontend/-l tcp:/172.17.0.1:3001 -n -s build --ssl-cert cert/cert.pem --ssl-key cert/key.pem directory on 0.0.0.0:8080
  7. 11|fronten | Exposing /home/ubuntu/src/mydomain/frontend/-l tcp:/172.17.0.1:3001 -n -s build --ssl-cert cert/cert.pem --ssl-key cert/key.pem directory on 0.0.0.0:8080
  8. 11|fronten | Exposing /home/ubuntu/src/mydomain/frontend/-l tcp:/172.17.0.1:3001 -n -s build --ssl-cert cert/cert.pem --ssl-key cert/key.pem directory on 0.0.0.0:8080


nginx也在cloudflare后面,这里是我域的nginx的配置
服务器{ listen 80; listen 443; server_name mydomain.com;

  1. ssl_certificate /etc/nginx/conf.d/cert.pem;
  2. ssl_certificate_key /etc/nginx/conf.d/key.pem;
  3. location / {
  4. proxy_pass https://172.17.0.1:3001;
  5. proxy_http_version 1.1;
  6. proxy_set_header Upgrade $http_upgrade;
  7. proxy_set_header Connection 'upgrade';
  8. proxy_set_header Host $host;
  9. proxy_cache_bypass $http_upgrade;
  10. }


}
请问问题在哪里?

wwodge7n

wwodge7n1#

我已经区分了两个进程之间的区别,对于使用JavaScript. js,我必须使用解释器,并使用脚本中的路径,并需要删除内置参数

  1. module.exports = {
  2. apps: [
  3. {
  4. name: "frontend",
  5. script: "/home/ubuntu/src/mydomain/frontend/build",
  6. interpreter: "serve",
  7. args: [
  8. "-l",
  9. "tcp://172.17.0.1:3001",
  10. "-n",
  11. "-s",
  12. "--ssl-cert",
  13. "cert/cert.pem",
  14. "--ssl-key",
  15. "cert/key.pem"
  16. ],
  17. exec_mode: "fork_mode",
  18. error_file: "./logs/frontend-error.log",
  19. out_file: "./logs/frontend-out.log",
  20. instances: 1,
  21. autorestart: true,
  22. watch: false,
  23. max_memory_restart: "10G",
  24. env: {
  25. PM2_SERVE_SPA: "true",
  26. },
  27. },
  28. ],
  29. };

字符串

展开查看全部

相关问题