我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

本篇文章里面,苏南大叔这里就是炒炒冷饭了。对于nginx或者apache,"通过pm2启动node网站" 对比 "通过php-fpm启动php网站",其实几乎没有太大区别。所以,这里就是老瓶子装新酒了。不同的是:php-fpm只占用一个端口,node则可能会占用无数个端口。

苏南大叔:nginx及apache代理pm2启动的node程序 - pm2
nginx及apache代理pm2启动的node程序(图1-1)

nginx的vhost配置demo

mac下的默认位置是:/usr/local/etc/nginx/servers/

server {
    listen       80;
    server_name  newsn.net;
    root <your/project/path/>
    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host  $http_host;
      proxy_set_header X-Nginx-Proxy true;
      proxy_set_header Connection "";
      proxy_pass http://127.0.0.1:3000;
      proxy_redirect default;
    }
}

apache的配置demo

mac下的默认位置是:/etc/apache2/

<VirtualHost *:80> 
  ServerName newsn.net
  ProxyRequests off 
  <Proxy *> 
   Order deny,allow 
   Allow from all 
  </Proxy> 
  <Location /> 
    ProxyPass http://127.0.0.1:3000/ 
    ProxyPassReverse http://127.0.0.1:3000/ 
  </Location> 
</VirtualHost> 

当然,在apache下,还需要在httpd.conf里面,打开如下类似配置:

LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Include /private/etc/apache2/extra/httpd-vhosts.conf

配置完pm2,再如此配置完nginx之后,nodejs搭建的网站才算真正部署完毕。是不是累出一身大汗的节奏。

结论

欢迎关注苏南大叔的相关node精彩经验分享: https://newsn.net/tag/node/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   nginx    js