linux 中安装 web 服务器常用命令汇总

#1、安装之前查看端口是否被占用

  • 查看端口占用情况的命令:lsof -i
  • 查看某一端口的占用情况: lsof -i:端口号
  • 结束占用端口的进程:killall 进程名
  • lsof -i:80
    COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    apache2  1630     root    3u  IPv4   7860      0t0  TCP *:http (LISTEN)
    apache2 23493 www-data    3u  IPv4   7860      0t0  TCP *:http (LISTEN)
    apache2 23494 www-data    3u  IPv4   7860      0t0  TCP *:http (LISTEN)
    apache2 23523 www-data    3u  IPv4   7860      0t0  TCP *:http (LISTEN)
    apache2 23524 www-data    3u  IPv4   7860      0t0  TCP *:http (LISTEN)
    apache2 23525 www-data    3u  IPv4   7860      0t0  TCP *:http (LISTEN)

     

    #2、如何通过Linux系统下iptables防火墙开启/关闭指定端口方法

    排除端口没有被占用之后,还需要判断防火墙是否关闭了端口,防止端口不可用。

    linux端口和服务:

    一、端口和服务的关系
    端口号与相应服务的对应关系存放在/etc/services文件中,这个文件中可以找到大部分端口。使用netstat命令
    显示的服务名称也是从这个文件中找的。

    有人说将这个文件中的相应端口号注释掉,就可以禁用该端口。我试了却不起作用,这种方法应该是没有用的,是误传!

    将相应端口号注释掉,唯一的作用就是使用netsat命令时,将不显示服务名(比如ftp)而是显示端口号(比如21)。

    原理也很简单:netstat无法在/etc/services文件中找到端口号对应的服务名,自然就无法显示了。

    所以/etc/services文件只是起到端口号与相应服务的映射关系,与端口的启动和关闭没有关系!


    二、查看本机开放的端口
    1、netstat  查看端口和连接
    netstat  列出目前已经连接的服务名
    netstat -a  列出目前已经连接的和正在监听的服务名
    netstat -an  列出目前已经连接的和正在监听的端口号(与上面的命令功能一样,只是不解释端口号对应的服务名)
    netstat -ap  在上面命令的基础上列出连接的PID(进程号),用这个PID,可以使用KILL 来杀死连接
        例如:某个连接的PID=111,想踢出去就使用 KILL -9 111。ok!
    netstat -rn  输出路由表


    2、nmap
    nmap  127.0.0.1  查看本机开放的端口,会扫描所有端口
    nmap  -p 1024  65535? 127.0.0.1  扫描指定端口范围
    nmap -PT 192.168.1.1-111? 扫描一组范围的电脑


    三、关闭和开启端口(服务)
    关闭端口的方法:
    1、因为每个端口都有对应的服务,因此要关闭端口只要关闭相应的服务就可以了。
    2、用IPTABLE对端口进行限制,这样也能使端口不被访问,但端口本身并没有关闭。

    在这儿只介绍关闭服务的方法,IPTABLE的应用以后再讨论。
    linux中开机自动启动的服务一般都存放在两个地方:
    /etc/init.d/文件夹下的服务:
    这个文件夹下的服务都可以通过运行相应的SCRIPT来启动或关闭。
    例如:启动sendmail服务  ./sendmail start (打开了TCP 25端口)
    关闭sendmail服务  ./sendmail stop (关闭TCP 25 端口)
      查看sendmail服务当前状态  ./sendmail? status (查看服务是否运行)
    /etc/xinetd.d/文件夹下的服务:
    这个文件夹下的服务需要通过更改服务的配置文件,并重新启动xinetd才可以。
    例如:要启动其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=no”,保存退出。运行/etc/rc.d/init.d/xinetd restart 
    要停止其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=yes”,保存退出。运行/etc/rc.d/init.d/xinetd restart 
    四、控制开机自动启动的服务
    上面说的控制服务开关方法是在启动linux之后进行操作的,如果我想在linux启动时控制哪些服务启动、哪些服务关闭怎么做
    控制服务自动启动的方法有3个:
    1、更改/etc/rc.d下的对应文件夹:
      如果你登陆的默认界面是字符界面,那么修改rc.3文件夹,如果登陆界面默认是图形界面,那么修改rc.5。
      在文件夹中,每个服务的名字前都带有“K”或“S”,S就代表这个服务开机自动运行了,把它删了或前缀改为“K”下次就不会启动了。
    2、使用ntsysv命令:
      输入ntsysv命令,将会出现一个服务列表,需要启动的打“*”,简单。
    3、使用chkconfig命令:
    让某个服务不自动启动:例如httpd:chkconfig --level 35  httpd? off  ;35指的是运行级别
    让某个服务自动启动:例如httpd:chkconfig --level 35  httpd? on ;
      查看所有服务的启动状态:chkconfig --list 
      查看某个服务的启动状态:chkconfig --list |grep httpd

     

    四、防火墙如何关闭和开启端口。

    开启81端口:
    iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPT
    iptables  -I OUTPUT -o eth0 -p tcp --sport 81 -j ACCEPT

    关闭81端口:
    iptables -I INPUT -i eth0 -p tcp --dport 81 -j DROP
    iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j DROP

    然后保存
    /etc/rc.d/init.d/iptables save

    可以使用lsof命令来查看某一端口是否开放.查看端口可以这样来使用.
    lsof -i:81
    如果有显示说明已经开放了.如果没有显示说明没有开放

    你可能感兴趣的:(linux 中安装 web 服务器常用命令汇总)