如何在相同的vps上运行python,java,php,nodejs,ruby应用程序?

时间:2016-12-12 03:17:38

标签: python ruby node.js apache nginx

如何在同一个VPS上运行python(Django,Flask),Java(spring),PHP,Nodejs(express),Ruby(rails)应用程序。
如果可以在VPS上运行,我们可以在经销商托管我们有SSH访问权限。

  

我已经考虑了其他一些文章,他们建议在Apache中使用“虚拟主机”   还有哪一个更好的NGINX或Apache相同..?

3 个答案:

答案 0 :(得分:1)

这取决于你想要达到的目标。

如果您想在同一个VPS上运行单独的应用程序,您可以:

  1. 在此VPS上安装所有必需的软件包
  2. 部署应用程序(通过标准部署或通过docker)
  3. 准备网络服务器的配置,例如Nginx。
  4. 在nginx中你可以很容易地实现它: 只需在/etc/nginx/sites-enabled内为每个应用程序放置一个文件。 每个文件都是这样的:

    upstream rails_application {
     server unix:/home/deploy/rails_application/shared/sockets/unicorn.sock fail_timeout=0;
    }
    server {
       listen 80; # application port
       server_name example.com; # application host
    
       location / {
         proxy_pass rails_application;
       }
    }
    

    然后你还需要为每个应用程序提供所有必要的配置。

    然后,关于Apache vs Nginx。它还取决于:)我更喜欢使用Nginx,因为它快速而强大。

    最后一点:考虑自动化。 自动化有两个地方:

    1. 准备VPS - 您可以手动执行或使用Chef。它可以让您轻松添加新应用程序,或将代码移动到新的VPS。
    2. 部署应用程序 - 使用像Capistrano这样的东西。

答案 1 :(得分:0)

只需添加'&'在你的命令结束时。喜欢

python manage.py runserver &

然后当你关闭ssh会话时,作业仍然在后台运行。

答案 2 :(得分:0)

任何用户都可以在VPS上运行任何服务。只需确保您与服务中的可用端口不冲突。