我有一台本地服务器。此外,我还有一个带有域名和静态 IP 的 VPS。我能否使用 VPS 作为前端接口将流量路由到我的本地计算机?我的本地计算机有一个动态 IP,因此我无法直接使用它来提供服务。更具体地说:我想在本地实例化一个矩阵/突触服务器,并使用 VPS IP 和域名来调解流量。
我对如何使用 Ubuntu 22.04 操作系统正确设置和保护我们的新 VPS 进行了三周的广泛研究,目前我很清楚必须做什么。
但是,我想构建一个 bash 脚本,以使用全局脚本和主题子脚本自动完成所有这些众多而复杂的任务。
例如,全局脚本VPS_Setup.sh
将依次启动以下子脚本:
- VPS_Setup_01_Update_OS.sh
- VPS_Setup_02_Create_New_Sudo_Group.sh
- VPS_Setup_03_Create_New_Sudo_User.sh
- VPS_Setup_04_Adjust_Timezone.sh
- VPS_Setup_05_Adjust_Swapfile.sh
...
在里面VPS_Setup_01_Update_OS.sh
,我只写了以下命令:
apt update -y
apt upgrade -y
apt autoremove -y
apt autoclean -y
经过多次尝试主要基于这些来源:
- https://stackoverflow.com/questions/305035/how-to-use-ssh-to-run-a-local-shell-script-on-a-remote-machine
- https://unix.stackexchange.com/questions/87405/how-can-i-execute-local-script-on-remote-machine-and-include-arguments
- 如何通过 ssh 在远程机器上运行本地 bash 脚本?
我通过这种方式从全局脚本启动子脚本:
SSHPASS='mypassword' sshpass -e ssh -tt -o StrictHostKeyChecking=no [email protected] 'bash -s' < ./VPS_Setup_01_Update_OS.sh
子脚本已启动,我没有收到任何错误消息。
但是,只执行第一个命令。
然后,它停止并显示命令提示符。
这是显示的内容:
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.2.0 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Last login: Thu Feb 9 19:54:37 2023 from XX.XX.XX.XX
root@XXXXXX:~# apt update -y
apt upgrade -y
apt autoremove -y
apt autoclean -y
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:3 http://archive.canonical.com/ubuntu jammy InRelease
Hit:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@XXXXXX:~#
这很奇怪,因为脚本在仅执行第一个命令之前显示了四个命令。
此外,如果我尝试从 root 提示符下手动执行另一个命令,则没有任何反应,直到我按 ^C。
然后,它返回到我的本地提示。
我也尝试过第二种方式:直接从全局脚本执行命令,通过这种方式:
SSHPASS='mypassword' sshpass -e ssh -tt -o StrictHostKeyChecking=no [email protected] <<ENDSSH1
apt update -y
apt upgrade -y
apt autoremove -y
apt autoclean -y
ENDSSH1
结果完全一样!
问题 1:我做错了什么,我应该如何进行?
问题 2:您知道在哪里可以找到我可以适应我们需要的这种脚本吗?我一直在寻找,但没有找到任何东西......
我想使用由法国 OVH 托管的廉价 VPS(1 个 vCore、2 GB RAM、40 GB SSD NVMe、250 Mbps 不限速)来托管一个将用于本月活动的 icecast 服务器。将有多达 500 个 CCU 监听 128 kbps 音频流。
根据我对本文的阅读,在我看来 250 Mbps 应该足以响应负载,但我没有任何管理此类问题的经验。
我的理由是 128kb*500CCU + 10% 开销 = 大约 70 Mb/s。
我还想知道 OVH 提供的 250 Mbps 不计量是否得到保证,或者使用该机器的其他客户端托管的其他服务的负载是否会对性能产生影响。(我已经问过OVH,但他们并不是特别有帮助)
谢谢你的见解!塞缪尔
更新
我已经使用上面链接中描述的脚本设置了负载测试场景。
#!/bin/sh
#
# max concurrent curls to kick off
max=600
# how long to sleep between each curl, can be decimal 0.5
delay=1
# how long to stay connected (in seconds)
duration=1800
# url to request from
URL=<theURL>
echo "Start load test"
while /bin/true
do
count=0
while [ $count -le $max ]
do
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
[ "$delay" != "" ] && sleep $delay
let count=$count+10
echo "Added 10 clients, now at $count clients"
done
wait
done
在 VPS1(“客户端”机器)上启动脚本之前,我在 VPS2(“服务器”机器,icecast2 服务器所在的位置)上的网络接口上使用 slurm 打开了一个窗口来监控网络使用情况,如下所示:
slurm -i eth0
我还打开了一个窗口来监控 icecast 的 CPU 使用情况(在 VPS2 上),如下所示:
top -p <PID OF ICECAST>
并在收听广播流时启动脚本。一切都很顺利,我没有听到任何故障,而且 CPU 使用率(600 CCU 时为 6%)非常合理(网络使用率也比我预期的要低得多,峰值使用率是 17MB),所以我猜我的设置通过负载测试!
谢谢您的帮助。
我已经使用 OnApp 配置了三个虚拟机管理程序。由于所有 Hypervisor 都使用 SAN 存储,因此如果任何 hypervisor 出现故障,托管在一个 hypervisor 上的 VPS 会在两个 hypervisor 上启动。
每个管理程序有 12 个内核,所以主要问题是我可以将 2 个管理程序的 CPU 内核分配给单个 VPS 吗?
例如,管理程序 1 有 12 个内核,管理程序 2 有 12 个内核,那么我可以将 24 个内核分配给该集群的 1 VPS 吗?
任何答案或澄清都会有所帮助。
我有一个服务器,当我在本地机器上开发一个网站时,我想上传它以在生产服务器上测试它,但是我面临着来自手机的问题我仍然得到旧版本的服务器,在PC上我可以进行硬刷新但是在手机上我一直等到网站刷新有没有解决这个问题的方法?我可以清除服务器上的缓存或任何其他解决方案吗?
问题
设置
- 有一个专用的 Ubuntu 18.04 VPS。
- 有一个通过 GoDaddy 购买的域名“foo.com”。
- 有一个 Gmail 帐户“[email protected]”。
目标
目标是通过Gmail使用公司域发送接收电子邮件。例如“[email protected]”。
Gmail 允许导入和使用 IMAP 配置文件:
我想做与https://www.youtube.com/watch?v=MEheS8gM4Xs中描述的相同的事情
除了使用我自己的 VPN 而不是某些 3rd 方工具。
解决方案
我认为需要:
- 安装后缀
- 安装 Dovecot
- 调整 GoDaddy DNS MX 记录
- 设置 Postfix 以与 Gmail 通信 (smtp.gmail.com)
任何想法或线索如何实现设定的目标?
请协助。我正在尝试在我的 VPS 上使用 strongswan 设置站点到站点 IPSec 隧道,但遗憾的是我的提供商无法为我启用以下内核模块:
ah4 ah6 esp4 esp6 xfrm4_tunnel xfrm6_tunnel xfrm_user ip_tunnel 隧道 tunnel6 xfrm4_mode_tunnel xfrm6_mode_tunnel
在我转移到我的启动负担不起的专用服务器之前,有没有办法以不依赖于在典型 VPS 配置上启用额外内核模块的替代方式配置 strongswan 或任何其他平台?
我将 VPS 的磁盘大小从 20GB 升级到了 40GB。我不能使用这个新添加的 20GB。fdisk -l
显示 40GB 但du -h
显示 20GB!
root@ubuntu:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 385M 656K 385M 1% /run
/dev/sda1 19G 16G 2.5G 87% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 385M 0 385M 0% /run/user/0
root@ubuntu:~# fdisk -l
Disk /dev/sda: 38.2 GiB, 40961572864 bytes, 80003072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7a5a5ba2
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 80003038 80000991 38.2G 83 Linux
我有一个具有单个 IP 地址和多个域名的 VPS。
我使用 mail-tester.com 来检查我的电子邮件的垃圾邮件率。我的结果是:
Your IP address 93.123.12.43 is associated with the domain 2132217.myisp.net.
Nevertheless your message appears to be sent from mail.example.com.
You may want to change your pointer (PTR type) DNS record and the host name of your server to the same value.
Here are the tested values for this check:
IP: 93.123.12.43
HELO: mail.example.com
rDNS: 2132217.myisp.net
现在,当我在 ISP 的托管面板中检查我的 VPS 的 DNS 反向设置时,我看到 IP 93.123.12.43 的 2132217.myisp.net。我知道我不能将多个域名与一个 IP 地址相关联,所以:
我是否应该将“2132217.myisp.net”替换为 MAIL 服务器域“mail.example.com”作为 FQDN?
(我不确定 rDNS 设置是否用于电子邮件以外的其他用途,更改此设置可能会破坏我的网站)。
我已经在这里检查过: 共享 IP 地址上多个域的 PTR 记录 (rDNS)