VPS后台运行:轻松实现服务持续稳定运行 (vps后台运行)


虚拟专用服务器(Virtual Private Server,简称VPS)近年来逐渐成为企业和个人的主流选择,它允许用户从获得更高的性能、更好的安全性、更大的灵活性和控制度等多个方面获得更多优势。

在使用VPS时,我们通常会需要一些程序、脚本和应用程序持续运行,比如网站服务器、邮件服务、数据库、代理等等。然而,如果这些应用停止运行会给您带来大量的问题。因此,我们需要确保这些服务随时保持持续稳定的运行。

这篇文章将向您介绍如何通过VPS后台运行实现服务的持续稳定运行,让您不需要自己手动运行或监视它们。

什么是后台运行

后台运行是指允许一个程序或脚本在不打开其用户界面或交互窗口的情况下继续运行的过程,而且不干扰计算机上的任何其他任务。在后台运行模式下,你可以让你的程序脚本在任何时刻运行,并始终保持用户感知的全天候服务状态。

何时需要后台运行

通常,当您希望在后台运行应用程序、脚本和服务时,您需要考虑以下情况:

1. 您需要服务24小时不间断地运行。

2. 您不希望在整个运行期间都对其进行监视。

3. 您希望程序在计算机上的多个会话之间可靠地交替运行。

4. 您需要确保服务程序启动后在计算机重启后仍然自动启动。

5. 您需要确保服务程序的运行状态记录,以便您可以轻松地监视其性能、调试可能的问题和维护。

如何进行后台运行

VPS后台运行是实现服务持续稳定运行的更佳方法之一。下面将介绍VPS上的后台运行方法。

使用screen命令

screen是一款Linux下用于多重窗口管理的应用程序。使用Screen命令,您可以将一个终端(交互式文本界面)分为多个窗口和多个会话,并在它们之间切换。安装该命令后,使用以下命令来创建您的会话:

screen -S session name

-S参数用于在创建会话时指定会话名称为“session name”。进入会话之后,您可以按下CTRL+A,然后再按下D键即可将会话隐藏到后台。再次进入时,可以使用以下命令:

screen -r session name

此命令将重启屏幕并重新连接到名称为“session name”的会话。而使用以下命令则可以查看当前所有会话:

screen -ls

这些命令可以使您在后台继续运行您的脚本或者应用程序。

使用nohup命令

您还可以使用nohup命令在后台运行您的程序。nohup通过在将命令运行到后台时使该命令忽略挂起(SIGHUP)信号,从而防止在终止会话或关闭计算机时停止程序的运行。接下来的命令可以用于在nohup模式下启动您的程序,例如启动Python程序:

nohup python my_program.py &

这个命令可以将您的程序启动到后台,并将所有输出转储到nohup.out文件中,以便以后查看。您可以直接关闭SSH终端窗口,程序将继续在后台运行。

使用systemd启动脚本

systemd是与大多数Linux发行版一起提供的系统和服务管理器。它可以帮助您快捷的管理您的计算机上的服务。您可以通过systemd创建一个服务配置文件,以在系统启动时自动启动您的程序。以下是一个服务配置文件示例:

[Unit]

Description=My Service

[Service]

Type=simple

WorkingDirectory=/path/to/working/dir

ExecStart=/usr/bin/python my_program.py

[Install]

WantedBy=multi-user.target

该服务的名称为“My Service”,并且它的ExecStart指令指定要运行的命令为“python my_program.py”。您可以将此文件保存为/etc/systemd/system/my_service.service,然后使用以下命令启动服务:

systemctl start my_service

现在,您的服务应该已经开始运行。使用以下命令查看它是否正在运行:

systemctl status my_service

如果您希望该服务在系统启动时自动启动,请使用以下命令启用该服务:

systemctl enable my_service

通过VPS后台运行,您可以轻松地实现持续稳定运行,解放了您的手动监控时间,降低了维护服务的难度。使用Screen命令、nohup命令或systemd启动脚本是三种常见的后台运行方法,它们可以满足您不同需求的使用场景。找到适合自己的后台运行方案,让您的服务始终在运行状态下,从而提高服务的可靠性和稳定性。

相关问题拓展阅读:

  • 有没有让Putty远程连接VPS关闭后继续运行程序的方法
  • 什么是动态VPS?
  • 如何为 vps 设置 ipv 隧道

有没有让Putty远程连接VPS关闭后继续运行程序的方法

后台运行或者守护进程

screen

什么是动态VPS?

VPS是英文(VirtualPrivateServer)的缩写,翻译过来的意思就是虚拟专用服务器,每个VPS您可以理解为一台虚拟电脑,它的主机运行和管理都与一立的电脑是一样的,具有独立的操作系统和独立空间的系统配置等就像自己家用的电脑一样,可以自己安装程序,软件或者是重启。

VPS的种类

我们一般是更具是否能够具有拨号上网的功能来进行分类的,将其分为固定IP的VPS主机和动态VPS主机固定IP的VPS主机一般指的是虚拟主机空间,也就是我们常说的网站空间,一般用于建站和实现数据共享动态VPS就是具有宽带连接的拨号VPS它和我们家用电脑一样能拨号上网。

拨号VPS是什么

顾名思义,拨号VPS就此旅是可以更换IP的VPS服务器,通过更换IP来得到某种目的主要应用于网络营销、注册、网络投纳扒罩票和挂机等。

拨号VPS在哪里购买

1.购买动态VPS的主要途径有两个,一个是在专业VPS网站购买,一个在淘宝商家购买。

2.在专业的网站购买需要注册的,充值到网站账户上面然后在自己的后台进行自行开通。

当然,如果你对网站保有怀疑的态度的话,我们可以在淘宝上进行动态VPS的交易。

一、支付安全相对来说是没有账户安全风的,

二、就是如洞闹果觉得试用的效果不行的话可要求商家进行更换,满意后才能进行付款。

如何选购动态VPS

选购动态VPS一般考虑三个因素:

之一个是VPS换IP的速度。

第二个是IP量的大小。

第三个是在换IP的过程中不能出现691、占线等提示信息。

如何为 vps 设置 ipv 隧道

首先要确认vps支持tun/tap设备。运行

cat /dev/net/tun

如果返回File descriptor in bad state,说明支持tun/tap。否则请发ticket联系客服。

下面要申请一个用于ipv6隧道的ipv6地址池。进入

,点击左上角面板的Register按钮注册一个帐号。

注册完成后登录,点击左侧的Create Regular Tunnel,在IPv4 Endpoint (Your side):中填入vps的ipv4地址,然后在下面的Available Tunnel Servers里选择一个离你vps机房段雀最近的地点返猛。我是美国西海岸机房的vps,就选择North America ,Los Angeles, CA, US的隧道服务器。点击Create Tunnel创建隧道。

创建完成后进入刚申请的隧道的详情页面,记下以下信息:

Server IPv4 Address: 服务端的ipv4地址,假设为1.2.3.4

Client IPv4 Address: vps的ipv4地址,假设为5.6.7.8

Client IPv6 Address: 获得的ipv6地址,假设为2023:200:a:f00::2/64

点击中间的Example Configurations选项卡可以看见各种系统上建立隧道的配置方法,不过OpenVZ虚握世早拟机都是用不了的。此时需要使用用户层的tb-tun隧道客户端。

装好gcc,下载并编译tb-tun:

wget

tar xvf tb-tun_r18.tar.gzgcc tb_userspace.c -l pthread -o tb_userspace

顺便把编译出的程序移到$PATH里吧

mv tb_userspace /usr/local/in

用tb_userspace创建一个名为tb的虚拟接口并后台运行,之一个地址为服务端地址,第二个地址为vps的本地地址。

setsid tb_userspace tb 5.6.7.8 1.2.3.4 sit

启用虚拟接口:

ifconfig tb up

为虚拟接口分配前面申请到的ipv6地址:

ifconfig tb inet6 add 2023:200:a:f00::2/64

调整虚拟接口的更大传输单元:

ifconfig tb mtu 1480

添加ipv6路由

/in/route -A inet6 add ::/0 dev tb

/in/ip -6 route add default dev tb

可能还需要删除venet0上的默认ipv6路由,否则ping不通其他ipv6地址。我就是这种情况

ip -6 route del default dev venet0

设置无误的话尝试运行ping6 ipv6.google.com

PING ipv6.google.com(lax02s02-in-x08.1e100.net) 56 data bytes64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=1 ttl=59 time=12.5 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=2 ttl=59 time=22.4 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=3 ttl=59 time=12.4 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=4 ttl=59 time=13.2 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=5 ttl=59 time=12.4 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=6 ttl=59 time=12.4 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=7 ttl=59 time=14.6 ms

^C— ipv6.google.com ping statistics —

7 packets tranitted, 7 received, 0% packet loss, time 6006ms

rtt min/avg/max/mdev = 12.441/14.326/22.446/3.396 ms

说明vps本机访问ipv6已经没问题了。然后可以试试从本地ping到vps的ipv6地址。也能ping通说明大功告成了

测试无误就把建立和设置隧道的命令写到/etc/rc.local里去吧

除了tunnel broker,tb_tun也支持isatap连接,不过我没试过,毕竟好用的isatap服务器不好找。

不过tb-tun似乎不是很稳定,有时会丢包或者出现Network is unreachable,不知道是程序的原因还是网络的原因。

类似这种,存成bash脚本,每次开机启动就行

ifconfig sit0 up

ifconfig sit0 inet6 tunnel ::64.62.134.130

ifconfig sit1 up

ifconfig sit1 inet6 add 2023:470:66:16e::2/64

route -A inet6 add ::/0 dev sit1

vps后台运行的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vps后台运行,VPS后台运行:轻松实现服务持续稳定运行,有没有让Putty远程连接VPS关闭后继续运行程序的方法,什么是动态VPS?,如何为 vps 设置 ipv 隧道的信息别忘了在本站进行查找喔。