阿里云最新折扣

阿里云一向以低门槛,高折扣,让新用户入局。之后续费才发现进入大坑。

不过即使续费原价,也比国内很多垃圾云要实惠得多,因为阿里云续费时长长的话都有各种折扣。

对新用户是真的太好,可惜我已经不是新用户了。以下是2019年8月的最新活动机型

https://www.aliyun.com/acts/limit-buy?userCode=2sndnstk

通用网络增强型(3年)

仅83元/月,适用于各类通用应用
2核8G
5M
带宽
40G
高效云盘
2折限量
3000.00/3年

11850.00/3年

linux进程命令

我们都知道启动一个服务,一般会用守护进程,让服务即使崩溃也会被重启。

最近VPS中了某矿毒,貌似是哪天装了个redis导致的,若干个 kworker 直接删不掉, 一定是有守护进程了。

一、普通进程与后台进程
默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作。对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个’&’实现这个目的:

复制代码
zsm@wilburUbun:~/application/zookeeper-3.4.8/bin$ ./zkServer.sh start &
[1] 21304
zsm@wilburUbun:~/application/zookeeper-3.4.8/bin$ ZooKeeper JMX enabled by default
Using config: /home/zsm/application/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

[1]+ Done ./zkServer.sh start

切换到后台的进程称为job。切换到后台时会输出相关job信息,以前面的输出[1] 21304为例:[1]表示job ID,21304表示进程ID是21304。 切换到后台的进程,仍然可以用ps命令查看,或通过jobs命令只查看所有job(后台进程)。

后台进程会随着Shell的退出而结束。

二、守护进程
如果一个进程永远都是以后台方式启动,并且不能受到Shell退出影响而退出,一个正统的做法是将其创建为守护进程(daemon)。守护进程值得是系统长期运行的后台进程,类似Windows服务。守护进程信息通过ps –a无法查看到,需要用到–x参数,当使

用这条命令的时候,往往还附上-j参数以查看作业控制信息,其中TPGID一栏为-1就是守护进程。

三、守护进程与后台进程
后台进程的文件描述符也是继承于父进程,例如shell,所以它也可以在当前终端下显示输出数据。但是daemon进程自己变成了进程组长,其文件描述符号和控制终端没有关联,是控制台无关的。

基本上任何一个程序都可以后台运行,但守护进程是具有特殊要求的程序,比如要脱离自己的父进程,成为自己的会话组长等,这些要在代码中显式地写出来换句话说,守护进程肯定是后台进程,但反之不成立。

四、进程查看
守护进程:ps -x

普通进程:ps 或 带参数的其他ps命令

后台进程:jobs 或 前面的上述的那些命令

五、跟系统任务相关的几个命令
fg、bg、jobs、&、ctrl+z

1. & 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行

2. ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停

3. jobs
查看当前有多少在后台运行的命令

4. fg
将后台中的命令调至前台继续运行

  如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

5. bg 将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

  1. jobs列举出后台作业信息。([作业号] 运行状态 作业名称)

  2. ctrl+z 将任务放到后台去,并暂停;

  3. bg <%int> 将后台任务唤醒,在后台运行;

  4. fg <%int> 将后任务的程序放到前台;

VPS主机和独立服务器网络配置方法

独立服务器安装了操作系统后,如果是CentOS的话默认的还需要自己手动配置好网络,一般地Linux配置网络可以用的命令有ifconfig、route、ip、ip route等,涉及到了IP地址设定以及DNS域名解析服务器设定。

另外,现在IPv6也开始逐渐普及下来了,很多的主机商也提供了IPv6地址服务,我们也可以为独立服务器配置好IPv6地址。

精彩内容

本篇文章就来分享一下如何在服务器上自定义网络配置,主要是记录一下ifconfig、route、ip几个命令的用法。


在使用Linux服务器如果主机商提供了IPMI的话还是挺方便的,独立服务器有时会忘记root密码,或者是服务器断电引起磁盘错误,导致root密码无法使用,这时候我们可以利用Rescue install system 救援安装系统来修改Root密码。
如果你觉得使用命令麻烦的话,你也可以在独立服务器安装操作系统时直接设置好网络,图形界面操作起来和Windows差不多。另外,Linux还可以输入setup命令,可以启动图形界面menuconfing,选择network configuration ,进入网络配置界面,比较适合新手朋友。
VPS主机和独立服务器网络配置方法

VPS主机和独立服务器网络配置方法

更多的Linux实用命令这里有:

VPS主机和独立服务器网络配置方法

1、Linux系统监控命令整理汇总-掌握CPU,内存,磁盘IO等找出性能瓶颈

2、Linux Crontab命令定时任务基本语法与操作教程-VPS/服务器自动化

3、Linux的php-fpm优化心得-php-fpm进程占用内存大和不释放内存问题

1

一、CentOS救援模式修改密码

按照IPMI安装操作系统图文教程的方法,将CentOS ISO挂载到光驱上,然后重新启用机器 ,上下键移动到Rescue install system 救援安装系统。
VPS主机和独立服务器网络配置方法

点击下一步,然后会提示你系统挂载在/mnt/sysimage下,如果要到root环境下,需要执行:chroot /mnt/sysimage 。
VPS主机和独立服务器网络配置方法
确定使用Shell模式。
VPS主机和独立服务器网络配置方法
执行命令:chroot /mnt/sysimage执行原系统文件,这时可以使用passwd更改密码,或者vi打开passwd文件对密码标志位进行修改,之后exit退出原系统,再reboot重启。

VPS主机和独立服务器网络配置方法

2

二、Linux的网络配置文件ifcfg

Linux的网络配置的路径: /etc/sysconfig/network-scripts/,配置完成以后需要重启网络:service network restart ,然后查看ip:使用 ifconfig 或者 ip addr 

ifcfg文件的一些属性说明:
VPS主机和独立服务器网络配置方法
  1. VPS主机和独立服务器网络配置方法

    TYPE=”Ethernet”  # 配置文件接口类型:有Ethernet 、IPsec等类型,网络接口类型为Ethernet

    BOOTPROTO=”static”  # 系统启动地址协议:

         #none:不使用启动地址协议

         #bootp:BOOTP协议

         #dhcp:DHCP动态地址协议

         #static:静态地址协议

    IPADDR=192.168.1.200  #静态IP 设为 192.168.1.200

    NETMASK=255.255.255.0  #子网掩码

    NETWORK=192.168.1.0  #网络段

    BROADCAST=192.168.1.255  #广播地址

    #GATEWAY:网关地址

    #HWADDR/MACADDR:MAC地址。只需设置其中一个,同时设置时不能相互冲突。

    #NM_CONTROLLED:是否由Network Manager控制该网络接口。修改保存后立即生效,无需重启。建议一般设为no。

         #yes:由Network Manager控制

         #no:不由Network Manager控制

    DEFROUTE=”yes”  #是否把这个eth设置为默认路由呢

    PEERDNS=”yes”  #是否指定DNS。如果使用DHCP协议,默认为yes。

    PEERROUTES=”yes”

    IPV4_FAILURE_FATAL=”no”

    IPV6INIT=”yes”  # 是否执行IPv6

    IPV6_AUTOCONF=”yes”

    IPV6_DEFROUTE=”yes”

    IPV6_PEERDNS=”yes”

    IPV6_PEERROUTES=”yes”

    IPV6_FAILURE_FATAL=”no”

    NAME=”eno16777736″  #这个网络的名字

    UUID=”6c336bc6-c471-4e9b-aeb8-b1f380fbe22f”

    DEVICE=”eno16777736″  #网络接口名称

    ONBOOT=”yes”  #是否开机启动

  2. 3

三、ifconfig 命令(查看或配置ip)

VPS主机和独立服务器网络配置方法
查看网络连接

VPS主机和独立服务器网络配置方法

ifconfig  \ 显示所有活动连接,不包令禁用的设备

ifconfig -a  \ 显示所有活动及非活动的连接

显示指定接口的连接

ifconfig eth1

VPS主机和独立服务器网络配置方法
配置ip地址

VPS主机和独立服务器网络配置方法

ifconfig eth1 192.168.0.1 netmask 255.255.255.

ifconfig eth1 192.168.0.1/24

VPS主机和独立服务器网络配置方法
启用或禁用接口

  1. VPS主机和独立服务器网络配置方法

    ifconfig eth1 down|up

    ifdown eth1  \ 禁用接口

    ifup eht1  \启用接口

  2. 4

四、route命令(查看或配置路由)

1、查看路由,使用-n可以以数字格式查看显示路由避免反解主机名,造成查询过慢。

  1. route -n

  2. Destination     Gateway         Genmask          Flags  Metric  Ref      Use Iface

  3. 192.168.0.0     0.0.0.0         255.255.255.0     U       0      0        0 eth1

  4. #目标           下一跳地址       掩码              标志位  跳跃点  ref    使用的哪个接口

  5. VPS主机和独立服务器网络配置方法

2、添加路由

(a)、网络路由

  1. route add -net 192.168.1.0/24 gw 172.16.1.106

(b)、主机路由

  1. route add -host 192.168.1.110 gw 172.16.1.106

(c)、默认路由

  1. # route add default gw 172.16.1.106

  2. # route add -net 0.0.0.0 gw 172.16.1.106

查看这三条新创建的

  1. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

  2. 192.168.1.110   172.16.1.106    255.255.255.255 UGH   0      0        0 eth0

  3. 192.168.1.0     172.16.1.106    255.255.255.0   UG    0      0        0 eth0

  4. 0.0.0.0         172.16.1.106    0.0.0.0         UG    0      0        0 eth0

  5. VPS主机和独立服务器网络配置方法

3、删除路由

  1. route del -host 192.168.1.110

  2. route del -net 192.168.1.0/24

  3. VPS主机和独立服务器网络配置方法
  4. 5

五、DNS配置

只能通过配置文件:/etc/resolv.conf 来修改内容如下:

  1. ; generated by /sbin/dhclient-script

  2. search localdomain wzfou.com   \ 搜索域

  3. nameserver 8.8.8.8    \ DNS域名服务器

  4. #一行一个DNS,最多配置三个DNS

**********************************************************************************

随着系统的发展以上两种命令,会慢慢的被如下两个命令替换.

ifconfig = ip

route = ip route

六、ip命令操作说明

linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。

ip [ OPTIONS ] OBJECT { COMMAND | help }

[OPTIONS]:

-s 显示出设备的统计数

OBJECT : { link | addr | route }(OBJECT对象

(1)关于接口设备(device)的相关设置ip link

ip [-s] link show <== 单纯的查看该设备的相关信息

ip link set [device] [动作与参数]

up|down:激活或禁用指定接口

ifup/ifdown

show [dev IFACE]:指定接口

[up]:仅显示处于激活状态的接口

name:给与这个设备一个特殊的名字

mtu:最大传输单元

VPS主机和独立服务器网络配置方法

例如:

  1. ip link show

    ip -s link show eth0

    ip link set eth0 up

    ip link set eth0 mtu 1000

    ip link set eth0 down

    ip link set eth0 name vbird(先关闭设备,再设置设备名)

    ip link set eth0 address aa:aa:aa:aa:aa:aa

    (如果是测试,测试完请改回来)

VPS主机和独立服务器网络配置方法

(2)ip addr { add | del } [IP参数] dev[相关参数]

show:仅显示接口的IP信息

label:添加地址时指明网卡别名

[scope {global|link|host}]:指明作用域

global: 全局可用(默认)

link: 仅链接可用

host: 本机可用

site:仅支持IPV6,仅允许本机的连接

[broadcast ADDRESS]:指明广播地址,如果设置值是+ 表示“让系统自动计算”

例如:

ip address add  192.168.50.50/24 broadcast + dev eth0 label eth0:0

VPS主机和独立服务器网络配置方法

(3)ip address flush – 使用格式同show
  1. ip addr add 172.16.100.100/16 dev eth0 label eth0:0

    ip addr del 172.16.100.100/16 dev eth0 label eth0:0

    ip addr flush dev eth0 label eth0:0

VPS主机和独立服务器网络配置方法

(4)添加删除路由:ip route [add|del] [IP或网络号] [via gateway][dev 设备]

add|del添加(add)或删除(del)路由

via 从哪个gateway出去,不一定需要

dev 哪个设备连出去,需要

ip route add 192.168.5.0/24 dev eth0(添加本机可直接沟通的网络)

ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0(增加通往外部的路由)

ip route add default via 192.168.1.254 dev eth0(添加默认路由)

ip route add 192.168.0.0/24 via 172.16.0.1

ip route add 192.168.1.13 via 172.16.0.1

VPS主机和独立服务器网络配置方法

(5)添加网关:ip route add default via GW dev IFACE

ip route add default via 172.16.0.1

VPS主机和独立服务器网络配置方法

(6)显示路由:ip route show|list

VPS主机和独立服务器网络配置方法

(7)清空路由表:ip route flush [dev IFACE] [via PREFIX]

ip route flush dev eth0

ip addr add 172.16.1.2/16 dev eth0

ip addr add 172.16.1.1/16 dev eth0 label eth0:0

ip addr add 172.16.1.2/16 dev eth0 label eth0:0

ip addr del 172.16.1.1/16 dev eth0 label eth0:0

ip addr flush dev eth0 label eth0:0

7

七、如何Ping测试IPv6网络?

7.1  Windows

以下Windows版本的ping命令支持ping IPv6地址:

Windows XP with SP1 及以上

Windows Vista 及以上

Windows Server 2003 及以上

1. ping ipv6主机名

  1. ping -6 ipv6.google.com

  2. /!注意:当ping ipv6主机名时,必须加上参数-6;直接ping IPv6地址时可以省略。

2. ping ipv6地址

  1. ping IPv6Address[%ZoneID]

  2. 例如:

  3. ping 2001:4860:0:2001::68

如果要ping link-local地址,则需要指定网络接口索引,如:

  1. ping fe80::260:97ff:fe02:6ea5%4

其中%4表示“用索引为4的网络接口”ping目标计算机。

7.2  Linux

在Linux发行版中,使用ping6命令ping IPv6主机或者地址。

1. ping ipv6主机名

  1. ping6 ipv6.google.com

2. ping ipv6地址

  1. ping6 IPv6Address[%InterfaceName]

如果要ping link-local地址,则需要指定网络接口名称,如:

  1. ping fe80::260:97ff:fe02:6ea5%eth0

  2. #其中%eth0表示“用网络接口eth0 ping目标计算机”。

  3. 8

八、如何在服务器启用IPv6并配置IPv6地址?

8.1  UBUNTU 18.04

VPS主机和独立服务器网络配置方法
PS:2019年1月12日更新,根据好友Skylake的反馈,cloud-init只会进行一次初始化,随后添加的并不会生效,独立服务器上cloud-init因为缺少数据源,不会进行初始化。部分云平台的初始化并不是cloud-init方案。大家在使用时注意。
如果是 Ubuntu 18.04, 直接编辑 50-cloud-init.yaml:
  1. sudo nano /etc/netplan/50-cloud-init.yaml

如下所示,添加你的独立器IPv6地址:(原来的不要动):
  1. network:

  2.    version: 2

  3.    ethernets:

  4.        eth0:

  5.            addresses:

  6.            – 203.0.113.213/20

  7.            – primary_ipv6_address/64

  8.            – 192.0.2.11/16

  9.            gateway4: 206.189.208.1

  10.            gateway6: ipv6_gateway

  11.            match:

  12.            macaddress: ce:2c:fb:85:b3:86

下一步到 nameservers 添加IPv6的DNS服务器:
  1. nameservers:

  2.        addresses:

  3.        – 67.207.67.2

  4.        – 67.207.67.3

  5.        – 2001:4860:4860::8844

  6.        – 2001:4860:4860::8888

  7.        search: []

  8.    set-name: eth0

如果你用的是Digitalocean VPS主机,用上了Ubuntu 18.04 LTS,可以参考以下示例:
  1. #修改/etc/netplan/50-cloud-init.yaml文件

  2. # This file is generated from information provided by

  3. # the datasource.  Changes to it will not persist across an instance.

  4. # To disable cloud-init’s network configuration capabilities, write a file

  5. # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:

  6. # network: {config: disabled}

  7. network:

  8.    version: 2

  9.    ethernets:

  10.        eth0:

  11.            addresses:

  12.            – 公共ipv4地址/20

  13.            – 私有ipv4地址/16

  14.            – 公共ipv6地址/64

  15.            gateway4: 公共ipv4网关

  16.            gateway6: 公共ipv6网关

  17.            match:

  18.                macaddress: MAC地址

  19.            nameservers:

  20.                addresses:

  21.                – 67.207.67.2

  22.                – 67.207.67.3

  23.            set-name: eth0

  24. #最后执行命令,应用此文件:
  25. netplan apply

8.2  DEBIAN 和 UBUNTU 16.04 或更早

在 Debian 和 Ubuntu 16.04 以及之前的版本, 编辑 network interface 文件:

sudo nano /etc/network/interfaces

然后如下演示添加IPv6地址:

iface eth0 inet6 static

  1.        address primary_ipv6_address

  2.        netmask 64

  3.        gateway ipv6_gateway

  4.        autoconf 0

  5.        dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888 209.244.0.3

重启网络:

sudo systemctl restart networking

8.3  CENTOS 或者 FEDORA

在 CentOS 或者 Fedora, 编辑 ifcfg-eth0 :

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

如下添加好IPv6地址:

IPV6INIT=yes

  1. IPV6ADDR=primary_ipv6_address/64

  2. IPV6_DEFAULTGW=ipv6_gateway

  3. IPV6_AUTOCONF=no

  4. DNS1=2001:4860:4860::8844

  5. DNS2=2001:4860:4860::8888

  6. DNS3=209.244.0.3

最后,重启网络.

sudo systemctl restart networking

  1. 9

九、总结

独立服务器配置服务器在手动配置IP时需要注意不要填写错误,由于在配置前需要做好备份工作,以免配置错误导致网络中断。

当然,独立服务器提供了IPMI或者VNC图形管理面板就可放心地折腾。

VPS主机和独立服务器网络配置方法

如果你有用独立服务器安装SolusVM时,在配置服务器的IP时注意做KVM Bridge的设置,当所有的配置都做好记得检查一遍IP是否可以Ping通过,以及IP转发设置是否有没有问题。

廉价VPS inodes不够用怎么办 – VPS分区维护

廉价这个定义不好说,一般几个大的厂家,最便宜的VPS吧,约等于5刀一个月的。大致美国的配置都如此 1核1G内存20G硬盘1TB流量

一般购买VPS,系统安装好后,自动就格式化了硬盘。只有一个盘符。当我们存了很多琐碎小文件的时候,可能硬盘空间够,但是inode用完了。先介绍下什么是inode。inode是文件系统分配用来记录文件位置和属性的结构,在一些文件系统中(如ext2, ext3等),它的数量在格式化的时候,就已经确定。如果文件系统是一本书,那么,inode就是这本书的目录。像ext3这样的文件系统,在格式化的时候,这本书的最大目录数已经确定。在你写书(保存文件到磁盘)的过程中,可能生的情况有:纸用完了(磁盘空间不足),这种情况下,当然无法保存新的文件了;另外一种情况,就是目录写完了(inode节点全部分配完了),这种情况下,虽然还有纸(磁盘空间),但由于目录(inode)已经没有了,没有了目录,文件就会无法找到,操作系统当然不会让你新建文件了。

现在发生的情况就是因为inode全部被用完了,虽然还有磁盘还有空间,但是文件系统已经无法再记录这些空余空间了,因此也就不能再创建文件(文件夹)了。

因为ext3文件系统的inode是在格式化文件系统的时候就已经确定的,要修改文件系统的inode数就只能格式化文件系统,这在服务器上显然是不可能的。临时的解决方法如下:

而单独购买网盘是非常贵的。所以一开始我们安装时,最好做好分区,再结合自己的需求,给不同的VPS分区。

因为只有一个硬盘,硬盘被系统加载时,是不能修改的。所以一定要有启动盘。

很多VPS厂商并不支持自定义ISO,包括vultr那个选项已经名存实亡。但是其实官方自带的工具集里,有system工具包。用工具包启动,之后就能跟着步骤来分区了。不同的VPS厂商提供了不同的系统工具,一般是 liveSystemCD 。里面有 parted 这款工具。 parted 是有图形化界面的,操作很简单。分区好之后用 mkfs 来格式化指定 inode数即可。

parted分区是会清空硬盘的。所以只能装机一开始用。而win系统,自带的分区工具,是可以不丢数据分区的。不过要流畅运行win系统,vps就不再廉价了

各VPS试用总结

本人不是affman,只是普通开发者和站长。近几年用了很多VPS,总结如下

oneman的vps,统统不要买,毫无保障。说停机就停机,数据丢失非常常见。超低折扣,月付,只用来做下代理才可以考虑。

比较稳的 linode vultr cloudcone 都是按小时计费。随时可以取消。 cloudcone 是低价低配。 linode是高价中配, vultr是高价高配。

vultr机房最多,但是没有CN2网络,部分日本机房超好用,但是很难买到,美西机房很不错,看似ping高,关键全天候很稳定,总体来说比搬瓦工更稳定, 但是基本没有折扣, 除了新注册可能有送一点。 vultr是目前用过的最稳的,没有之一。 适合建站。

linode网络不够稳,没有支付宝支付。在vultr买不到好IP段的时候,可以作为补充。

cloudcone看似性价比高,实际性价比也确实还可以。HDD硬盘的实测读写并不差,最大的缺点在于CPU,比其他几家跑分低太多,不适合计算型的项目。网络延迟比 vultr, linode 都低,但是丢包略多。 稳的时候很稳, 不稳的时候完全访问不了。 不支持 centos6安装,最低也是 7 64,有些老项目的网站可能无法架设。值得长期持有一两台特定机型的。价格本身很实惠,有没折扣都差不多。

小时计费的好处是可以不停开新机,开到没被ban的好IP段,再删掉其他的。月付和年付的一般要提工单,要等待处理,也要另外付费。

搬瓦工,月付和年付。比较稳,价格中等偏上。也基本没有折扣,大部分时候很稳,但是也有不稳定的时候。

hostdare 这个是 oneman 的,有支付宝支付和CN2线路。机器跑分也可以,年付才有折扣。。但是,这家机器问题很严重,测试都不怎么看得出来,网速,延迟,各种硬件和vultr一样。但是网络是个奇葩,长期打不开,看到 ping 和 tcping 都很低,没有丢包的时候, 都可能打不开。 实际测试FTP下载稍大的压缩包,基本都不成功。。。

国内免备案小厂家的美国服务器比真美国的还美gui国gui gui。香港服务器则;远没有国内各种香港云便宜稳定。基本不用看。。。

总结还是最前面那句,不是月付,小时付的都垃圾。那种年付才有折扣或者折扣比较大的,基本非常垃圾。搬瓦工的年付和月付基本就没啥折扣,这才是稳。。一分钱一分货!