美文网首页
CentOs服务器常用命令

CentOs服务器常用命令

作者: LOOK_LOOK | 来源:发表于2017-04-14 15:23 被阅读730次
    命令列表
    ------ps
    ------kill
    ------查看端口是否被占用
    ------tomcat相关
    ------mysql相关
    ------postgreSQL相关
    ------防火墙相关
    

    首先要进入root用户

    su

    ps

    查看某端口是否被占用(如查看8088)

    ps -ef|grep 8088

    显示java相关程序

    ps aux|grep java

    kill

    kill命令用于关闭指定进程。

    格式:

    kill 参数 信号 进程ID

    参数:

    -s 指定发送信号

    -l 根据信号名显示信号编号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

    -a 当处理当前进程时,不限制命令名和进程号的对应关系

    -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号

    -u 指定用户
    信号:

    信号名 信号编号 信号含义

    HUP 1 终端断线

    INT 2 中断

    QUIT 3 退出

    TERM 15 终止

    KILL 9 强制终止

    CONT 18 继续(与STOP相反)

    STOP 19 暂停(

    示例:

    显示信号KILL的信号编号

    kill -l KILL

    关闭apache用户下所有进程

    kill -u apache.apache

    强制关闭进程ID为1937的进程,参数s可以省略。

    kill -s 9 1937

    kill -9 1937

    查看端口是否被占用

    参考文章

    1.显示所有端口和所有对应的程序

    netstat -tunlp

    2.用grep管道可以过滤出想要的关键字段。

    netstat -tunlp |grep 5432

    参数

    -a (all)显示所有选项,默认不显示LISTEN相关
    -t (tcp)仅显示tcp相关选项
    -u (udp)仅显示udp相关选项
    -n 拒绝显示别名,能显示数字的全部转化成数字。
    -l 仅列出有在 Listen (监听) 的服務状态
    
    -p 显示建立相关链接的程序名
    -r 显示路由信息,路由表
    -e 显示扩展信息,例如uid等
    -s 按各个协议进行统计
    -c 每隔一个固定时间,执行该netstat命令。
    
    测试

    3.查看某一端口的占用情况:

    lsof -i:端口号

    测试

    tomcat

    修改端口为8088端口。
    tomcat7/conf/server.xml 文件里的:

    <Connector port="8080" 
    protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443" /> 
    

    port="8080"改为port="8088",保存。
    ** 如果想要添加远程访问的话,需要修改防火墙设置。修改方法参看下面防火墙部分**
    -A INPUT -m state --state NEW -M tcp -p tcp --dport 8088 -j ACCEPT#开放tomcat端口

    安装好后的启动和关闭方式:

    sh /opt/apache-tomcat-8.0.23/bin/startup.sh
    sh /opt/apache-tomcat-8.0.23/bin/shutdown.sh

    可以看出,路径太长,不好启动,所以将其设置成以服务方式启动,以后再启动就用⑥中的方式操作。
    ①. 在/etc/init.d目录下新建文件,命名为tomcat2. 对tomcat文件进行编辑,执行

    cd /etc/init.d/
    vi tomcat

    将下面代码粘上去

    #!/bin/bash
    # description: Tomcat7 Start Stop Restart
    # processname: tomcat7
    # chkconfig: 234 20 80
    # JAVA_HOME要根据jdk的具体位置修改
    
    JAVA_HOME=/opt/jdk1.7.0_80
    export JAVA_HOME
    PATH=$JAVA_HOME/bin:$PATH
    export PATH
    CATALINA_HOME=/opt/apache-tomcat-8.0.23
    case $1 in
    start)
    sh $CATALINA_HOME/bin/startup.sh
    ;;
    stop)
    sh $CATALINA_HOME/bin/shutdown.sh
    ;;
    restart)
    sh $CATALINA_HOME/bin/shutdown.sh
    sh $CATALINA_HOME/bin/startup.sh
    ;;
    esac
    exit 0
    

    ②. 按ESC退出,并

    :wq

    ③. 设置tomcat的文件属性,把tomcat 修改为可运行的文件,命令参考如下

    chmod a+x tomcat

    ④. 添加服务

    chkconfig --add tomcat

    ⑤. 服务就添加成功了
    然后用 chkconfig --list 查看,在服务列表里就会出现自定义的服务了

    chkconfig --list

    ⑥. 测试

    service tomcat start
    service tomcat stop
    service tomcat restart
    service tomcat status

    mysql

    安装后需要更改初始密码(初始密码很复杂)

    grep 'temporary password' /var/log/mysqld.log

    看到密码后进入mysql修改密码

    mysql -uroot -p(回车后输入密码)

    进入后修改密码为123456

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

    默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,添加一个新的帐户:

    mysql> GRANT ALL PRIVILEGES ON . TO 'look'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    修改防火墙设置(参照“防火墙-更改防火墙配置”部分
    -A INPUT -m state --state NEW -M tcp -p tcp --dport 3306 -j ACCEPT#开放mysql端口
    启动mysql

    systemctl start mysqld

    或者

    service mysqld start

    关闭mysql

    systemctl stop mysqld

    或者

    service mysqld stop

    常用sql语句

    进入
    mysql -u root -p
    创建数据库
    create database test;
    use test;
    create table a(
    id int(4) not null,
    name varchar(10),
    primary ker(id)
    ) default charset=utf8;
    

    postgreSQL

    常用命令
    启动

    systemctl start postgresql-9.5.service

    登录

    su - postgres
    psql -U postgres

    安装过程
    1.添加RPM

    yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm

    2.安装PostgreSQL 9.5

    yum install postgresql95-server postgresql95-contrib

    3.初始化数据库

    /usr/pgsql-9.5/bin/postgresql95-setup initdb

    4.设置开机自启动(有时候没反应,但是继续向下还是可以进行)

    systemctl enable postgresql-9.5.service

    **5.启动服务 **

    systemctl start postgresql-9.5.service

    6.修改用户密码
    切换用户,执行后提示符会变为 '-bash-4.2$'

    su - postgres

    登录数据库

    psql -U postgres

    输入 ALTER USER postgres WITH PASSWORD '123456',设置用户postgres密码 123456 ,\q 退出数据库

    Paste_Image.png

    7.开启远程访问

    vi /var/lib/pgsql/9.5/data/postgresql.conf

    修改#listen_addresses = 'localhost'listen_addresses='*' 当然,此处‘*’也可以改为任何你想开放的服务器IP

    Paste_Image.png

    8.信任远程连接

    vi /var/lib/pgsql/9.5/data/pg_hba.conf

    修改如下内容,信任指定服务器连接
    # IPv4 local connections:
    host all all 127.0.0.1/32 trust
    host all all 192.168.1.155/32 trust

    注:

    192.168.1.155是指定这个ip可以连接到postgreSQL
         32 -> 192.168.1.155/32 表示必须是来自这个IP地址的访问才合法;
         24 -> 192.168.1.0/24 表示只要来自192.168.1.0 ~ 192.168.1.255的都合法;
         16 -> 192.168.0.0/16 表示只要来自192.168.0.0 ~ 192.168.255.255的都合法;
         8   -> 192.0.0.0/16 表示只要来自192.0.0.0 ~ 192.255.255.255的都合法;
         0   -> 0.0.0.0/0 表示全部IP地址都合法,/左边的IP地址随便了只要是合法的IP地址即可
    
    trust
    无条件地允许联接。这个方法允许任何可以与PostgreSQL 数据库服务器联接的用户以他们期望的任意 PostgreSQL 数据库用户身份进行联接,而不需要口令。
    reject
    联接无条件拒绝。常用于从一个组中"过滤"某些主机。
    md5
    要求客户端提供一个 MD5 加密的口令进行认证。
    crypt
    要求客户端提供一个 crypt() 加密的口令用于认证。 7.2 以前的客户端只能支持 crypt。 对于 7.2 以及以后的客户端,我们建议使用 md5。
    password
    要求客户端提供一个未加密的口令进行认证。 因为口令是以明文形式在网络上传递的, 所以我们不应该在不安全的网络上使用这个方式。
    krb4
    用 Kerberos V4 认证用户。只有在进行 TCP/IP 联接的时候才能用。  (译注:Kerberos,"克尔波洛斯",故希腊神话冥王哈得斯的多头看门狗。 Kerberos 是 MIT 开发出来的基与对称加密算法的认证协议和/或密钥交换方法。 其特点是需要两个不同用途的服务器,一个用于认证身份, 一个用于通道两端用户的密钥交换。同时 Kerberos 对网络时间同步要求比较高,以防止回放攻击,因此通常伴随 NTP 服务。)
    krb5
    用 Kerberos V5 认证用户。只有在进行 TCP/IP 联接的时候才能用。  (译注:Kerberos V5 是上面 V4 的改良,主要是不再依赖 DES 算法, 同时增加了一些新特性。)
    ident
    获取客户的操作系统名(对于 TCP/IP 联接,用户的身份是通过与运行在客户端上的 ident 服务器联接进行判断的,对于本地联接,它是从操作系统获取的。) 然后检查一下,看看用户是否允许以要求的数据库用户进行联接, 方法是参照在 ident 关键字后面声明的映射。 
    pam
    使用操作系统提供的可插入的认证模块服务 (Pluggable Authentication Modules) (PAM)来认证。
    

    远程连接配置完成,由于系统原因,还需要在防火墙中打开相应的端口。
    9.修改防火墙配置,加上(参照“防火墙-更改防火墙配置”部分
    -A INPUT -m state --state NEW -M tcp -p tcp --dport 5432 -j ACCEPT#开放postgreSQL端口

    **10. 重启PostgreSQL数据服务 **

    systemctl restart postgresql-9.5.service

    防火墙

    查询防火墙状态:

    [root@localhost ~]# service iptables status<回车>

    停止防火墙:

    [root@localhost ~]# service iptables stop <回车>

    启动防火墙:

    [root@localhost ~]# service iptables start <回车>

    重启防火墙:

    [root@localhost ~]# service iptables restart <回车>

    永久关闭防火墙:

    [root@localhost ~]# chkconfig iptables off<回车>

    永久关闭后启用:

    [root@localhost ~]# chkconfig iptables on<回车>

    更改防火墙配置

    vi /etc/sysconfig/iptables

    # sample configuration for iptables service
    # you can edit this manually or use system-config-firewall
    # please do not ask us to add additional ports/services to this default configuration
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -M tcp -p tcp --dport 8088 -j ACCEPT#开放tomcat端口
    -A INPUT -m state --state NEW -M tcp -p tcp --dport 3306 -j ACCEPT#开放mysql端口
    -A INPUT -m state --state NEW -M tcp -p tcp --dport 5432 -j ACCEPT#开放postgreSQL端口
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    

    scp命令

    scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令。

    有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。

    将本机文件复制到远程服务器上

    scp /home/administrator/news.txt root@192.168.6.129:/etc/squid

    /home/administrator/ 本地文件的绝对路径

    news.txt 要复制到服务器上的本地文件

    root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

    192.168.6.129 远程服务器的ip地址(也可以使用域名或机器名)

    /etc/squid 将本地文件复制到位于远程服务器上的路径

    将远程服务器上的文件复制到本机

    scp remote@www.abc.com:/usr/local/sin.sh /home/administrator

    remote 通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

    www.abc.com 远程服务器的域名(当然也可以使用该服务器ip地址)

    /usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件

    /home/administrator 将远程文件复制到本地的绝对路径

    注意两点:

    1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

    scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

    2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。

    相关文章

      网友评论

          本文标题:CentOs服务器常用命令

          本文链接:https://www.haomeiwen.com/subject/cdmwattx.html