首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何通过命令行在虚拟机中启动和运行服务器?

如何通过命令行在虚拟机中启动和运行服务器?
EN

Stack Overflow用户
提问于 2017-11-04 14:40:21
回答 1查看 69关注 0票数 0

我用Python编写了一个带有Flask的服务器应用程序,现在我想让它在我设置的虚拟机上运行。因此,我非常希望在两个方面提供指导。

  1. 如何获得服务器设置,使其永久运行,其他计算机可以访问它?计算机可以在同一个网络中,所以我不需要担心域名或任何事情。我只是在寻找多个设备能够访问它。目前,我能够在本地机器上运行服务器,一切都很正常。
  2. 我已经远程设置了我的虚拟linux机器,所以我将SSH放入其中,并从命令行执行所有操作,但对于如何从命令行完成上述操作,我有点不知所措。

任何指导/帮助都是非常感谢的!我所做的网络搜索并没有给我指明正确的方向。我很抱歉,如果我的任何术语是错的(如果是的话,请随时纠正我,以便我学习!)谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-04 18:04:55

在Ubuntu,/etc/systemd/system上使用systemd来进行简单的设置(不过,对于生产设置来说可能不太理想)。

有时候,我这样做是为了我正在制作原型的Python应用程序。首先,将应用程序代码放在/opt/my-app中。我通常只是cd /optgit clone在那里回购。然后,创建一个名为/etc/systemd/system/my-app.service的文件。在该文件中,添加以下内容:

代码语言:javascript
代码运行次数:0
运行
复制
[Unit]
Description=My App daemon
After=network.target postgresql.service 
Wants=postgresql.service 

[Service]
EnvironmentFile=/etc/sysconfig/my-app
WorkingDirectory=/opt/my-app/ # <- this is where your app lives
User=root
Group=root
Type=simple
ExecStart=/usr/bin/python server.py # <- this starts your app
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target

接下来,将所有环境变量粘贴到名为/etc/sysconfig/my-app的文件中,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
DB_HOST=localhost
DB_USER=postgres 
DB_PASSWORD=postgres 
DB_NAME=postgres

然后你就可以:

代码语言:javascript
代码运行次数:0
运行
复制
service my-app start
service my-app stop
service my-app restart

然后,您可以点击运行在服务器、IP和端口上的应用程序(就像运行python app.pypython server.py一样)。要检查守护进程的日志,如果它似乎不起作用,可以运行:

代码语言:javascript
代码运行次数:0
运行
复制
journalctl -u my-app -e 

在生产中,我不确定这是最好的设置,也许最好研究一下像ngnix这样的东西。但我一直在为原型做这件事,而且很棒。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47111880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档