【问题标题】:How to run Ionic serve permanently?如何永久运行 Ionic 服务?
【发布时间】:2015-12-28 07:25:06
【问题描述】:

我正在为一个应用程序使用 Ionic 框架。代码在linux服务器上。我正在通过 putty 使用ionic serve 命令运行应用程序。

但是,问题是如果我关闭腻子,应用程序就会停止。有什么方法可以将离子服务永久地作为守护进程运行?

【问题讨论】:

    标签: angularjs linux cordova ionic-framework


    【解决方案1】:

    我怀疑您尝试这样做是因为您想将您的 Ionic 应用程序作为网络应用程序提供服务,对吗?

    在这种情况下 - 您不必永久运行 ionic serve。您所要做的就是从www 文件夹中取出所有代码并将其放在您的Web 服务器的http 文件夹(或任何其他对您的系统有效的文件夹)中。

    所以,基本上,启动 apache(或 nginx)并从 Ionic 的 www 文件夹中提供代码。基本上,ionic serve 命令做同样的事情 - 它启动本地 Web 服务器并提供来自 www 文件夹的内容。这样做是为了加快本地测试。

    您可以查看this SO question,了解有关如何将 Ionic 部署为网站的更多信息。

    【讨论】:

    • 太好了,很高兴这个答案对你有帮助。
    • 如果我们的 javascript 文件使用节点模块(第 3 方库)怎么办?我们该如何处理?
    【解决方案2】:

    我想在我的服务器上使用 Ionic 和 Capacitor 进行测试,但 www 文件夹没有运行第三方应用程序。

    虽然未经测试,但从技术上讲,该设置应该能够与其他框架(例如 Vue、React 等)一起为 Ionic 工作。

    使用 nginxsupervisor 我得到了它的工作。

    Nginx 配置

    sudo apt-get install nginx

    sudo apt-get install nano

    创建一个conf 文件

    sudo nano /etc/nginx/sites-available/ionic

    在文件中添加以下内容。

    server {
        listen 8100;
        server_name your-domain.com your-ip-address;
    
        charset utf-8;
    
        client_max_body_size 10M;
    
        #Django media and static files
        location / {
            proxy_pass http://127.0.0.1:8101;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
    

    注意,我正在侦听端口 8100,但您可以使用任何其他端口,例如80. 此外,proxy_pass 设置为 8101,因为 ionic 将在此端口上运行。请参阅下面的 Supervisor 配置

    主管配置

    sudo apt-get install supervisor

    然后创建一个conf 文件

    sudo nano /etc/supervisor/conf.d/ionic.conf

    在里面添加以下内容

    [program:ionic]
    command=ionic serve --port=8101
    directory=/path/to/your/ionic/folder
    autostart=true
    autorestart=true
    startretries=3
    stderr_logfile=/var/log/supervisor/ionic/error.log
    stdout_logfile=/var/log/supervisor/ionic/out.log
    

    如前面 Nginx 配置中所述,我在端口 8101 上提供离子服务。

    注意:不要报错,在日志中创建 ionic 文件夹

    sudo mkdir /var/log/supervisor/ionic

    然后启用并重新启动服务

    sudo ln -s /etc/nginx/sites-available/ionic /etc/nginx/sites-enabled
    sudo systemctl restart nginx
    sudo systemctl restart supervisor
    sudo supervisord
    

    在打开您的网站之前,请检查 ionic 在日志输出文件中的正确端口上运行

    tail -80 /var/log/supervisor/ionic/out.log
    
    sudo systemctl enable supervisor
    sudo systemctl enable nginx
    

    http://your-domain.com:8100http://your-ip-address:8100

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 2015-11-21
      • 2014-10-11
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      相关资源
      最近更新 更多