我有一个使用Google Compute协议转发的Google Compute实例(Debian 8和Apache),可以在一个虚拟机实例中使用多个外部IP地址: Google计算协议转发(整篇文章) Google Compute Engine支持协议转发,它允许您创build可以将数据包发送到未经NAT的目标实例的转发规则对象。 每个目标实例都包含一个虚拟机实例,该虚拟机实例接收并处理来自相应转发规则的stream量。 问题 我无法通过端口443访问其中一个虚拟主机域/ IP。我需要这个,因为我想在所有这些域上启用HTTPS。 我已经尝试了多个选项来实现打开端口443,但他们都没有工作: 选项1)基于虚拟名称的主机: /etc/apache2/ports.conf Listen 80 <IfModule ssl_module> NameVirtualHost *:443 Listen 443 </IfModule> <IfModule mod_gnutls.c> NameVirtualHost *:443 Listen 443 </IfModule> /etc/apache2/sites-enabled/example.com.conf <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/website1 </VirtualHost> <VirtualHost *:443> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/website1 </VirtualHost> 选项2)基于虚拟IP的主机: /etc/apache2/ports.conf Listen 80 <IfModule […]
我们有一个使用Raid-1安装的服务器,每个使用两个1TB的磁盘,并且由Centos上的软件configuration。 第一个磁盘(我们称之为sdb )已经死了,我们在不久的将来将其取代,而我们决定使用镜像磁盘sda启动服务器。 事情是系统无法启动。 在bios初始化屏幕后,它仍然保持黑屏。 我的想法是,他们没有configuration镜像磁盘镜像启动扇区的SDB 我用一个现场Ubuntu的CD启动机器,并检查磁盘。 我的第二个想法是,它缺乏MBR ,因为当我看着sda我看到一个分区sda1和sda2 ,其中第一个有10GB的空间,我无法访问。 然后剩下的990gb剩下的第二个分区sda2 ,这是我需要启动的分区,因为是与服务器文件和configuration 除此之外,我看到sdba拥有所有系统文件夹,例如/ boot / proc / bin … etc etcc 我已经红了,这可能会解决安装GRUB引导加载程序到磁盘,然后它可能会运行。 但是如果它能够工作的话,我会担心这个,因为已经创build了10gb的第一个分区。 其他论坛说这是无法挽回的,如果这是真的,有没有一种方法,我的格式10GB的SDB1分区,并安装操作系统来启动辅助分区和所有的服务? 在这里,我会把我收集的所有信息,如果你需要一些额外的相关信息,我会很乐意去找它并上传它 root@PartedMagic># sfdisk -d /dev/sda // # partition table of /dev/sda unit: sectors /dev/sda1 : start= 2048, size= 19529728, Id=fd /dev/sda2 : start= 19531776, size=1933991936, Id=fd /dev/sda3 : start= 0, size= […]
我不知道work和temp一般应该由Tomcat来pipe理,还是我应该不时手动清除它? 在我们的具体情况下,应用程序的新版本总是用##符号枚举(例如app##123.war ,下一个是app##124.war )。 所以版本之间的冲突不应该发生。 但是旧版本似乎被Tomcat保存在work/Catalina/localhost 。 另外请注意 – 在我们的例子中 – 大多数重要的应用程序总是一起更新。 有一些工具(如jolokia ),这是在一个单独的过程中更新。 那么从Tomcat的caching目录中手动删除旧的应用程序会有什么显着的性能提升吗? 或者,也许服务器将启动较慢,因为其他应用程序的caching将被删除的过程中?
我已经设置了Openvpn服务器的默认子网设置,我正在运行一些Docker容器。 我设法通过将push "route 172.17.0.0 255.255.0.0"到openvpn server.conf中来使其成为可ping通的,但是我无法连接到在Docker容器上运行的任何服务。 $ ping 172.17.0.3 Pinging 172.17.0.3 with 32 bytes of data: Reply from 172.17.0.3: bytes=32 time=29ms TTL=63 Reply from 172.17.0.3: bytes=32 time=29ms TTL=63 Reply from 172.17.0.3: bytes=32 time=30ms TTL=63 Reply from 172.17.0.3: bytes=32 time=29ms TTL=63 Ping statistics for 172.17.0.3: Packets: Sent = 4, Received = 4, Lost = 0 (0% […]
我有一个问题,我似乎无法理解,这里的事情:我想要访问192.168.100.32从防火墙(192.168.1.100)的局域网服务器。 这个networking由eth0pipe理,我可以(显然)访问该networking中的任何主机。 但是,我无法从WAN接口(192.168.0.254,即eth3)访问它。 这里是每个接口的Nmap扫描结果。 $ nmap 192.168.100.32 -e eth0 // 443 / tcp 打开 https $ nmap 192.168.100.32 -e eth3 // 443 / tcp 过滤 https IPTables: Chain PREROUTING DNAT tcp — eth3 any anywhere anywhere tcp dpt:https to:192.168.100.32 Chain POSTROUTING MASQUERADE all — any eth0 anywhere anywhere MASQUERADE all — any eth3 anywhere anywhere […]
在Linux上的程序cpulimit是伟大的。 你可以告诉它限制一个进程,使它不会占用超过X%的CPU。 例如,如果CPU运行时间过长,我知道某人的笔记本电脑过热。 当进行一些video编码时,他们使用cpulimit来防止CPU被完全使用,从而导致过热。 你不能用nice来阻止。 有没有这样的负载 ? 理想情况下,我想能够做loadlimit 4 my-command-here ,它会启动my-command-here每X秒loadlimit将检查(1分钟)负载的机器,如果它高于4,然后my-command-here将被暂停。 当负载低于4时,命令将被暂停。 这正是cpulimit所做的。 这样的工具是否存在?
我有一个自动化的部署者脚本,它将git提交到某个分支,编译并上传存档的二进制对象到云(S3)。 稍后,脚本login到EC2实例并下载档案并执行/启动项目/服务器。 到目前为止,这是完美的工作。 最近,我遇到了磁盘空间问题。 由于我也存储日志和维护当前/以前的工作提交,我的目录结构是这样的: /path /current/ <- symlink /prev/ <- symlink /HASH00001/ /HASH00002/ /HASH00003/ /HASH00004/ /HASH00005/ /…/ /…/ /HASH0000n/ /some.log /some.log.1 /some.log.2.gz /… 为了维护起见,我想删除/path中所有的特定git commit的SHA值的子目录。 但是,有一个警告, current和prev符号链接指向的目录不应该被删除。 到目前为止,我正在手动在任何面临存储问题的机器上。 我更喜欢我的部署脚本来照顾这一步。 我正在使用ls命令并根据上次访问时间戳对结果进行sorting: ls -drt | head -n -4 并将xargs rm -rf传送给它。 我现在正在考虑修改它,以便只列出长度正好为40个字符的目录名称,然后删除目录。 符号链接到current和prev 。 我可以得到一些关于如何实现相同的指针!
我一直在挠头,因为所有的论坛都说,以下简单的代码应该工作,redirect所有stream量从HTTPS到HTTP,除了一个位置( Nginx的:在一个path上强制SSL,其他人不SSL ),但在我的情况它没有按预期工作 这是Magento网站有以下nginxconfiguration upstream examplecombackend { server unix:/var/run/php-fcgi-examplecom.sock; } server { listen 111.11.111.111:80; server_name example.com *.example.com; access_log /home/www/vhosts/example.com/logs/access.log; error_log /home/www/vhosts/example.com/logs/error.log; root /home/www/vhosts/example.com/httpdocs; location / { index index.html index.php; try_files $uri $uri/ @handler; expires 30d; } location /checkout/ { rewrite ^ https://$host$request_uri? permanent; } location @handler { rewrite / /index.php; } location ~ .php/ { […]
我需要通过号码获取界面。 我的脚本: #!/bin/bash interfaces=/root/tt interfaces_with_numbers=/root/tt2 ls -1 /sys/class/net > /root/tt cat -n $interfaces > $interfaces_with_numbers cat $interfaces_with_numbers read number echo $number eth=`cat $interfaces_with_numbers | grep $number | awk '{ print $2 }'` if [[ -d /sys/class/net/$eth ]];then echo "You choose is: $eth" else echo "not found" fi 我有输出: 1 dummy0 2 eno1 3 enp4s0 4 […]
我遇到了一个奇怪的问题。 我有一个目录,我们称之为dir ,我( user )想要访问。 尝试了一些权限设置,我不能得到它的工作,所以我走到了极点:更改所有者recursion到user:user ,设置权限为777. ls -hal now报告: ls -hal lrwxrwxrwx 1 user user 94 Nov 16 10:35 dir 。 但是,当我尝试cd dir我得到-bash: cd: dir: Permission denied 。 访问该文件夹的唯一方法似乎是首先sudo su ,但是我希望能够在没有sudo权限的情况下授予其他用户的访问权限,并且能够在不使用sudo权限的情况下自行使用该目录。 我能做些什么来进入目录? 编辑:我不小心做了错误的目录ls -hal ,所以它显示dir作为符号链接,但实际目录dir链接具有完全相同的权限,我不能进入它的“正常”(只是使用绝对path而不是符号链接)的方式。 然而,奇怪的是,我甚至ls -hal在我想要访问的目录的父目录中使用ls -hal : ls: cannot open directory '.': Permission denied 编辑:显然,我只是需要注销,再次和一切工作。 我猜所有权login后不立即改变?