Centos7最小化系统安装_配置

本文总结了作者使用centos最小化安装时,碰到的问题和解决方案。

  1. 网络问题。作者使用虚拟机安装时,网卡并没有激活。操作:
    1 cd /etc/sysconfig/network-script
    2 vi 要编辑的网卡
    3 更改 onboot = yes
    4 # 重启network
    5 systemctl restart network
  2. 使用ip address命令查看IP地址
  3. 使用XSHELL远程连接虚拟机
    1 #检测SSHD服务是否开启
    2 systemctl status sshd
    3 #如果sshd服务没有安装,那么使用yum安装sshd
    4 yum -y install openssh-server
    5 #启动sshd服务
    6 systemctl start sshd
    7 #检测22端口是否开启
    8 netstat -na|grep 22
  4. 如果yum安装sshd时出错,且报错为需要导入GPG文件(具体忘了截图了)
    #导入GPG文件
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CENTOS-7
    # GPG是什么:GPG是RH官方发布的签名机制,分为公钥和私钥,用于判断软件是否是RH官方认证的。
  5. 安装net-tools工具,安装gcc
  6. 添加自启动
    #在rc.local中添加自启脚本
    vi /etc/rc.d/rc.local
    #格式: 程序名  程序路径
    a.sh  /home/a.sh
    
    #脚本中添加命令即可。注意给脚本提权
    systemctl restart sshd
    
    #使用systemctl enable命令
    systemctl enable sshd
    #具体更多的用法可以看附录,包括systemctl和service启动服务的流程
  7. 修改PS1
    vi etc/profile
    export PS1="[u@AWS W]$ "
    #具体的自定义可以在网上查,作者这里只是将localhost主机名称位置的字符串改为了AWS
  8. JAVA配置
    #解压文件,然后复制到/usr/local目录下
    mv jdk1.8.0_14 /usr/local/jdk1.8
    #添加环境变量,添加到/etc/profile文件中,永久生效,对于all user
    vi /etc/profile
    export JAVA_HOME=/usr/local/jdk1.8
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    #若要立即生效,执行以下命令
    source /etc/profile
    #直接在shell中执行以上命令也会成功,但是仅限与当前终端窗口
    #测试是否添加成功:
    echo $JAVA_HOME
  9. 安装Python的一些软件
    #安装pip
    #安装扩展元EPEL
    yum -y install epel-release
    #更新pip
    pip install --upgrade pip
    #安装Scrapy时需要的依赖
    yum install libxslt-devel libffi libffi-devel python-devel gcc openssl openssl-devel
    #安装scrapy
    pip install scrapy
  10. docker加速器配置(使用的阿里云的)
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://pfonbmyi.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
  11. 待续

 附录:

  1. systemctl
    #systemctl命令综合了service和chkconfig命令的作用
    systemctl is-enabled iptables.service
    systemctl is-enabled servicename.service #查询服务是否开机启动
    systemctl enable *.service #开机运行服务
    systemctl disable *.service #取消开机运行
    systemctl start *.service #启动服务
    systemctl stop *.service #停止服务
    systemctl restart *.service #重启服务
    systemctl reload *.service #重新加载服务配置文件
    systemctl status *.service #查询服务运行状态
    systemctl --failed #显示启动失败的服务
  2. 服务启动
    #service会去寻找/etc/init.d下的network脚本,restart是network脚本里的一个参数(你可以去查看network这个脚本支持的参数),然后告诉系统运行network这个脚本,剩下的事情就交给network脚本去做。
    #编写属于自己的service命令:编写一个脚本,然后把它放在/etc/init.d这个目录底下,你就可以用service +脚本名字 运行。
    #简单例子:http://blog.chinaunix.net/uid-11582448-id-745416.html
  3. centos7默认防火墙:firewall
    #开通端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent
        #--zone #作用域
        #--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
        #--permanent   #永久生效,没有此参数重启后失效
    systemctl restart firewalld.service
    firewall-cmd --version
    #更新防火墙规则
    firewall-cmd --reload
  4. 网络测试,测试服务是否成功。
    #最新发现,使用nmap测试更为强大。因为telnet只能测试tcp协议的端口。
    #安装nmap
    yum install nmap.x86_64
    #输入端口和IP号即可检测。具体可以自己查下,很强大
    nmap -p port IP
    #
    首先,ping IP 看是否可以ping通 #然后,telnet IP port 看相应端口是否打开 #最后,查看防火墙是否禁用此端口
  5. 服务状态解释
    • active (running):正有一隻或多隻程序正在系統中執行的意思,舉例來說,正在執行中的 vsftpd 就是這種模式。
    • active (exited):僅執行一次就正常結束的服務,目前並沒有任何程序在系統中執行。 舉例來說,開機或者是掛載時才會進行一次的 quotaon 功能,就是這種模式! quotaon 不須一直執行~只須執行一次之後,就交給檔案系統去自行處理囉!通常用 bash shell 寫的小型服務,大多是屬於這種類型 (無須常駐記憶體)。
    • active (waiting):正在執行當中,不過還再等待其他的事件才能繼續處理。舉例來說,列印的佇列相關服務就是這種狀態! 雖然正在啟動中,不過,也需要真的有佇列進來 (列印工作) 這樣他才會繼續喚醒印表機服務來進行下一步列印的功能。
    inactive:這個服務目前沒有運作的意思。
    # 摘自 鸟哥的linux教程 书籍
  6. yum命令
    yum search    #查找软件包
    yum list
    yum list updates    #列出所有可更新的软件包
    yum list installed    #所有已安装的软件包
    yum info    #列出所有软件包的信息
    yum info updates    #yum info updates
    yum clean    #清除缓存目录
  7. 待续