我在一个应用程序中使用Ionic框架。代码在linux服务器上。我正在使用ionic serve
命令通过putty运行应用程序。
但是,问题是如果我关闭了putty应用程序停止了。有没有办法永久性地运行离子服务作为守护进程?
答案 0 :(得分:4)
我怀疑你是否正在尝试这样做,因为你想将你的Ionic应用程序作为网络应用程序提供,对吗?
在这种情况下 - 您不必永久地运行ionic serve
。您所要做的就是从www
文件夹中获取所有代码,并将其放在您的Web服务器的http
文件夹(或任何其他对您的系统有效的文件夹)中。
所以,基本上,启动apache(或nginx)并提供Ionic的www
文件夹中的代码。基本上,ionic serve
命令执行相同的操作 - 它会旋转本地Web服务器并提供www文件夹中的内容。它可以加快本地测试。
您可以查看this SO question了解有关如何将Ionic部署为网站的更多信息。
答案 1 :(得分:0)
我想使用 Ionic 和 Capacitor 在我的服务器上进行测试,但 www 文件夹没有运行第三方应用程序。
虽然未经测试,但从技术上讲,该设置应该能够与其他框架(例如 Vue、React 等)一起用于 Ionic。
使用 nginx
和 supervisor
我让它工作了。
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 将在此端口上运行。请参阅下面的主管配置
主管配置
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 服务。
注意:没有报错,在日志中创建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:8100
或 http://your-ip-address:8100