如何在Apache服务器中运行Node.js应用程序

Dipak chavda

我想通过子域在apache服务器上运行我的nodejs应用程序。我在cpanel中创建了主域的子域。我的项目有3个以上的子域,所有子域都指向不同的nodejs应用程序。子域将我重定向到正确的文件夹中,但是当我通过浏览器中的子域运行应用程序时,它不会在apache服务器上运行节点应用程序。它仅显示项目的文件夹列表。

我参考以下链接以供参考。

http://www.codingtricks.biz/run-nodejs-application-apache/

在Apache中运行Node.js?

项目目录:

/ home / abc / public_html / node

我的主要域名是:

https://www.example.com

我在cpanel中创建了子域:

https://www.node.example.com

我在浏览器中访问子域:

node.example.com

我在软层服务器上部署了我的应用程序。

以下是apache配置:

文件 :

/usr/local/apache/conf/includes/abc_node.conf

配置:

<VirtualHost 132.159.25.21:80>
   ServerAdmin [email protected]
   ServerName node.example.com
   ServerAlias www.node.example.com

   DocumentRoot /home/abc/public_html
   <Directory /home/abc/public_html/node>
      Options -Indexes +FollowSymLinks
      AllowOverride None
      Require all granted
   </Directory>

   ProxyRequests Off
   ProxyPreserveHost On
   ProxyVia Full
   <Proxy *>
      Require all granted
   </Proxy>

   <Location /node>
      ProxyPass http://132.159.25.21:8080
      ProxyPassReverse http://132.159.25.21:8080
   </Location>

   ErrorLog /home/abc/public_html/node/error.log

   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog /home/abc/public_html/node/access.log combined

</VirtualHost>

命令摘要:

命令:

/ usr / local / apache / bin / httpd -tD DUMP_VHOSTS

输出:

AH00548: NameVirtualHost has no effect and will be removed in the next release /usr/local/apache/conf/httpd.conf:445
VirtualHost configuration:
127.0.0.1:80           wb01-development.example.com (/usr/local/apache/conf/httpd.conf:504)
127.0.0.1:443          wb01-development.example.com (/usr/local/apache/conf/httpd.conf:554)
132.159.25.21:443      is a NameVirtualHost
         default server example.com (/usr/local/apache/conf/httpd.conf:368)
         port 443 namevhost example.com (/usr/local/apache/conf/httpd.conf:368)
                 alias www.example.com
         port 443 namevhost wb01-development.example.com (/usr/local/apache/conf/httpd.conf:554)
                 wild alias cpanel.*
                 wild alias whm.*
                 wild alias webmail.*
                 wild alias webdisk.*
                 wild alias cpcalendars.*
                 wild alias cpcontacts.*
132.159.25.21:80       is a NameVirtualHost
         default server 132.159.25.21 (/usr/local/apache/conf/httpd.conf:274)
         port 80 namevhost 132.159.25.21 (/usr/local/apache/conf/httpd.conf:274)
         port 80 namevhost example.com (/usr/local/apache/conf/httpd.conf:297)
                 alias www.example.com
         port 80 namevhost node.example.com (/usr/local/apache/conf/httpd.conf:446)
                 alias www.node.example.com
         port 80 namevhost wb01-development.example.com (/usr/local/apache/conf/httpd.conf:504)
                 wild alias cpanel.*
                 wild alias whm.*
                 wild alias webmail.*
                 wild alias webdisk.*
                 wild alias cpcalendars.*
                 wild alias cpcontacts.*
         port 80 namevhost node.example.com (/usr/local/apache/conf/includes/abc_node.conf:1)
                 alias www.node.example.com
*:*                    wb01-development.example.com (/usr/local/apache/conf/httpd.conf:286)

命令

/ usr / local / apache / bin / httpd -tD DUMP_MODULES

输出:

AH00548: NameVirtualHost has no effect and will be removed in the next release /usr/local/apache/conf/httpd.conf:445
Loaded Modules:
    core_module (static)
    authn_file_module (static)
    authn_core_module (static)
    authz_host_module (static)
    authz_groupfile_module (static)
    authz_user_module (static)
    authz_core_module (static)
    access_compat_module (static)
    auth_basic_module (static)
    socache_shmcb_module (static)
    socache_dbm_module (static)
    so_module (static)
    include_module (static)
    filter_module (static)
    deflate_module (static)
    http_module (static)
    mime_module (static)
    log_config_module (static)
    logio_module (static)
    env_module (static)
    expires_module (static)
    headers_module (static)
    unique_id_module (static)
    setenvif_module (static)
    version_module (static)
    proxy_module (static)
    proxy_connect_module (static)
    proxy_http_module (static)
    slotmem_shm_module (static)
    ssl_module (static)
    mpm_prefork_module (static)
    unixd_module (static)
    status_module (static)
    autoindex_module (static)
    asis_module (static)
    suexec_module (static)
    cgi_module (static)
    negotiation_module (static)
    dir_module (static)
    actions_module (static)
    userdir_module (static)
    alias_module (static)
    rewrite_module (static)
    bwlimited_module (shared)
    suphp_module (shared)
    security2_module (shared)

我使用以下ip和port运行我的node js应用程序

132.159.25.21:3030

我通过以下方式在nodejs应用程序中定义了我的端口

var port = parseInt(process.env.PORT,3030)|| 8080;

参考此错误:AH00548:NameVirtualHost无效,将在下一发行版/usr/local/apache/conf/httpd.conf:445中删除,以下代码已编写。名称VirtualHost 132.159.25.21:80

我将may vhosts文件放在/usr/local/apache/conf/httpd.conf文件的末尾,因为在文件中他们写了一个警告“#不要编辑。自动生成。如果需要更改,请使用包括文件。”

我需要帮助来解决此问题。如果您需要进一步了解应用程序,请告诉我。

以斯拉

该配置看起来很正确,除了一位以外,/ node位置路径应具有目标匹配斜杠,以便正确进行反向代理,而不会产生意外后果:

为了清晰起见,我宁愿这样定义它:

ProxyPass /node/ http://132.159.25.21:8080/
ProxyPassReverse /node/ http://132.159.25.21:8080/

考虑到使用目标的代理http://132.159.25.21:8080是不正确的,应始终将其定义为http://132.159.25.21:8080/,因此源应以相同的方式匹配斜杠,因此/ node /是正确的方式。

至于“ NameVirtualHost”警告。只是告诉您,在Apache HTTPD的2.4.X版本中不再需要它,因为仅2.2才需要该指令,因此2.4“更智能”地检测命名的虚拟主机。

SideNote:<Proxy *>无效,因此定义它是徒劳的。Proxy *用于正向代理,显然您不希望使用它,并且已关闭ProxyRequests禁用了此类功能。因此,也将其删除。

---根据您的评论扩展答案:

要到达您的节点,您必须访问:

http://node.example.com/node/

或添加“默认”重定向将您带到它。例如:

RedirectMatch ^/$ /node/

您通过访问node.example.com来获取索引(文件列表),因为-Indexes是为子目录定义的,这意味着前一个目录已启用索引,因此请定义:

<Directory /home/abc/public_html>
    Options -Indexes +FollowSymLinks
    ....

而不是定义/ home / abc / public_html / node(不适用于这种情况),因为node /不是目录,而是后端中的虚拟路径,所以为了更正抖动,不应将其包含在Directory路径中。

如果您只想在访问http://node.example.com/时访问后端,请使用它代替ProxyPass / node /:

ProxyPass / http://132.159.25.21:8080/
ProxyPassReverse / http://132.159.25.21:8080/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您如何在Node.js中为服务器应用程序构建测试?

来自分类Dev

如何在 apache 服务器上运行 cakephp 应用程序?[乌班图]

来自分类Dev

如何在 Apache Web 服务器上运行 Grails 应用程序 WAR 文件?

来自分类Dev

如何在Dart服务器Web应用程序中动态运行dart2js?

来自分类Dev

如何在 Linux 服务器上部署 Node.js 和 MongoDB 应用程序

来自分类Dev

如何正确阻止Node.JS服务器应用程序中的IP地址?

来自分类Dev

如何在Apache服务器中配置Zend应用程序

来自分类Dev

如何在离线运行的打包chrome应用程序中创建本地服务器?

来自分类Dev

如何在JAVA中运行服务器-客户端应用程序

来自分类Dev

Node.js应用程序的服务器配置

来自分类Dev

如何在Ionic移动应用中运行Node.js服务器?

来自分类Dev

如何将Node.js Web服务器与Apache Cordova应用程序一起使用

来自分类Dev

在电子商务网站中运行用于聊天应用程序的node.js服务器

来自分类Dev

如何在我的网站服务器而不是PC本地服务器中运行node.js

来自分类Dev

为什么Node.js简单的HTTP服务器应用程序无法在服务器上运行?

来自分类Dev

如何在Apache Tomcat 6服务器中修复Java Spring MVC Web应用程序的运行时间?

来自分类Dev

如何配置Apache(安装在服务器中)以在Docker中运行Web应用程序(Django)?

来自分类Dev

如何在 React JS 中通过静态服务器为应用程序提供服务时设置新端口

来自分类Dev

当图像存储在node.js服务器上载文件夹中时,如何在角度应用程序中显示图像?

来自分类Dev

如何在Node.js中获得服务器正常运行时间?

来自分类Dev

Express Node.js应用程序中的全局服务器会话

来自分类Dev

保持Node JS应用程序运行

来自分类Dev

如何在使用docker的指定应用程序的服务器上查找css / js文件

来自分类Dev

如何在Apache或NodeJS服务器上托管Angularjs应用程序或MEAN客户端应用程序?

来自分类Dev

如何在Apache或NodeJS服务器上托管Angularjs应用程序或MEAN客户端应用程序?

来自分类Dev

如何在单独的应用程序服务器上运行UCMA 4.0受信任的应用程序?

来自分类Dev

如何在单独的应用程序服务器上运行UCMA 4.0受信任的应用程序?

来自分类Dev

如何在Rails应用程序中运行服务器端Faye客户端?

来自分类Dev

如何在NGINX服务器上运行的Web应用程序中处理SSL证书以实现WhiteLabel选项

Related 相关文章

  1. 1

    您如何在Node.js中为服务器应用程序构建测试?

  2. 2

    如何在 apache 服务器上运行 cakephp 应用程序?[乌班图]

  3. 3

    如何在 Apache Web 服务器上运行 Grails 应用程序 WAR 文件?

  4. 4

    如何在Dart服务器Web应用程序中动态运行dart2js?

  5. 5

    如何在 Linux 服务器上部署 Node.js 和 MongoDB 应用程序

  6. 6

    如何正确阻止Node.JS服务器应用程序中的IP地址?

  7. 7

    如何在Apache服务器中配置Zend应用程序

  8. 8

    如何在离线运行的打包chrome应用程序中创建本地服务器?

  9. 9

    如何在JAVA中运行服务器-客户端应用程序

  10. 10

    Node.js应用程序的服务器配置

  11. 11

    如何在Ionic移动应用中运行Node.js服务器?

  12. 12

    如何将Node.js Web服务器与Apache Cordova应用程序一起使用

  13. 13

    在电子商务网站中运行用于聊天应用程序的node.js服务器

  14. 14

    如何在我的网站服务器而不是PC本地服务器中运行node.js

  15. 15

    为什么Node.js简单的HTTP服务器应用程序无法在服务器上运行?

  16. 16

    如何在Apache Tomcat 6服务器中修复Java Spring MVC Web应用程序的运行时间?

  17. 17

    如何配置Apache(安装在服务器中)以在Docker中运行Web应用程序(Django)?

  18. 18

    如何在 React JS 中通过静态服务器为应用程序提供服务时设置新端口

  19. 19

    当图像存储在node.js服务器上载文件夹中时,如何在角度应用程序中显示图像?

  20. 20

    如何在Node.js中获得服务器正常运行时间?

  21. 21

    Express Node.js应用程序中的全局服务器会话

  22. 22

    保持Node JS应用程序运行

  23. 23

    如何在使用docker的指定应用程序的服务器上查找css / js文件

  24. 24

    如何在Apache或NodeJS服务器上托管Angularjs应用程序或MEAN客户端应用程序?

  25. 25

    如何在Apache或NodeJS服务器上托管Angularjs应用程序或MEAN客户端应用程序?

  26. 26

    如何在单独的应用程序服务器上运行UCMA 4.0受信任的应用程序?

  27. 27

    如何在单独的应用程序服务器上运行UCMA 4.0受信任的应用程序?

  28. 28

    如何在Rails应用程序中运行服务器端Faye客户端?

  29. 29

    如何在NGINX服务器上运行的Web应用程序中处理SSL证书以实现WhiteLabel选项

热门标签

归档