悠然小屋

不自重者,取辱。不自长者,取祸。不自满者,受益。不自足者,博闻!

«   2019年3月   »
123
45678910
11121314151617
18192021222324
25262728293031
搜索
Tags列表
最新留言
    最近发表
    文章归档
    友情链接

      PHP+FPM导致内存耗光的问题 .

       

      最近总是发现fpm挂掉,查看日志是因为内存耗光了。  

      Linux常用信息查看命令

       Linux常用信息查看命令

      # free -m # 查看内存使用量和交换区使用量
      # df -h # 查看各分区使用情况
      # du -sh <目录名> # 查看指定目录的大小
      # grep MemTotal /proc/meminfo # 查看内存总量
      # grep MemFree /proc/meminfo # 查看空闲内存量
      # uptime # 查看系统运行时间、用户数、负载
      # cat /proc/loadavg # 查看系统负载磁盘和分区
      # uname -a # 查看内核/操作系统/CPU信息
      # head -n 1 /etc/issue # 查看操作系统版本
      # cat /proc/cpuinfo # 查看CPU信息
      # hostname # 查看计算机名
      # lspci -tv # 列出所有PCI设备
      # lsusb -tv # 列出所有USB设备
      # lsmod # 列出加载的内核模块
      # env # 查看环境变量资源
      # ifconfig # 查看所有网络接口的属性
      # iptables -L # 查看防火墙设置
      # route -n # 查看路由表
      # netstat -lntp # 查看所有监听端口
      # netstat -antp # 查看所有已经建立的连接
      # netstat -s # 查看网络统计信息进程
      # mount | column -t # 查看挂接的分区状态
      # fdisk -l # 查看所有分区
      # swapon -s # 查看所有交换分区
      # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
      # dmesg | grep IDE # 查看启动时IDE设备检测状况网络
      # chkconfig –list # 列出所有系统服务

      lnmp安装

       

      重新安装centos5.5 32bit 独立内核版本系统后,ssh登入。


      ###########################################

      #                                           对用户进行修改。 
      ###########################################

      修改root密码:
      1
      2
      passwdroot
      # 输入密码两次
      去掉无用的用户组和用户。
      1
      2
      3
      4
      5
      6
      cp/etc/passwd/etc/passwd.sav
      cp/etc/group/etc/group.sav
      forinadm lp syncnews uucp operator games gopher mailnull nscd rpc; \
      do/usr/sbin/userdel$a -f; done
      forinlp news uucp games gopher usersfloopy nscd rpc rpcuser nfsnobody; \
      do/usr/sbin/groupdel$a -f; done
      升级系统并安装所需的组件
      1
      2
      3
      4
      5
      6
      7
      8
      9
      yum update -y
      yum install-y at iptables mailx sendmail vixie-cronntp ntsysv irqbalance \
      patch vim-enhanced sudoflex bison automake pam-devel gcc gcc-c++ autoconf \
      libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel libtool \
      freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc \
      glibc-devel glib2 glib2-devel bzip2bzip2-devel ncurses ncurses-devel curl \
      curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel \
      openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients \
      openldap-servers gd gd-devel unzip
      修改用户组权限sudo权限,只允许abc用户使用sudo
      1
      2
      3
      chmodu+w /etc/sudoers
      echo'abc ALL=(ALL) ALL'>> /etc/sudoers
      chmodu-w /etc/sudoers
      修改系统时区,设置cron定期同步时间。
      1
      2
      3
      4
      rm-f /etc/localtime
      ln-s /usr/share/zoneinfo/Asia/Shanghai/etc/localtime
      /usr/sbin/ntpdate210.72.145.44
      crontab-e
      # 加入下面一行:
      1
      1 */6* * * /usr/sbin/ntpdate210.72.145.44 > /dev/null2&>1
      运行ntsysv精简系统启动服务,只留下atd、crond、iptables、irqbalance、network、sendmail、sshd、syslog。
      1
      ntsysv
      添加用户abc并增加密码,并将abc添加到wheel组(以便sudo提权)
      1
      2
      3
      4
      5
      useraddabc
      passwdabc
      # 输入密码两次
       
      /usr/sbin/usermod-G wheel xuyan
      只允许wheel用户组使用su命令。
      1
      2
      3
      4
      5
      6
      7
      vim /etc/pam.d/su
      # 去掉#auth required /lib/security/$ISA/pam_wheel.so use_uid的注释#
       
      echo"SU_WHEEL_ONLY yes">> /etc/login.defs
      echo"root: admin@caiblog.com">> /etc/aliases
      newaliases
      service sendmail start
      如果想要发送测试邮件,使用命令
      1
      echotest| mail root
      关闭ipv6
      1
      2
      echo"alias net-pf-10 off">> /etc/modprobe.conf
      echo"alias ipv6 off">> /etc/modprobe.conf
      重启机器
      1
      init 6


      ###########################################

      #                                           创建下载目录 
      ###########################################

      1
      2
      mkdir-p /data/src
      cd/data/src


      ###########################################

      #                                                安装rzsz 
      ###########################################

      安装rzsz,便于SecureCRT连接vps上传下载
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      cd/data/src
      wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
      tarzxf rzsz-3.48.tar.gz
      cdsrc
      sed-i "s#OFLAG= -O#OFLAG= -O -DREGISTERED#g"Makefile
      makeposix
      cprz sz /usr/bin
      exportRZSZLINE=/dev/modem
      cd../
      rm-rf src


      ###########################################

      #                                 升级openssl和openssh 
      ###########################################

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      # 下载相关文件
      cd/data/src
      wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.8p2.tar.gz
      wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz
      wget http://www.dnaphp.com/downloads/server/linux/30-zlib-1-2-5-tar/download-O zlib-1.2.5.tar.gz
       
      # 升级zlib
      tar-zxf zlib-1.2.5.tar.gz
      cdzlib-1.2.5
      ./configure
      make&& makeinstall
      cd../
       
      # 升级openssl
      tarzxf openssl-1.0.0d.tar.gz
      cdopenssl-1.0.0d
      ./configshared zlib
      make
      makeinstall
      mv/usr/bin/openssl/usr/bin/openssl.OFF
      mv/usr/include/openssl/usr/include/openssl.OFF
      ln-s /usr/local/ssl/bin/openssl/usr/bin/openssl
      ln-s /usr/local/ssl/include/openssl/usr/include/openssl
      echo"/usr/local/ssl/lib">> /etc/ld.so.conf
      /sbin/ldconfig-v
      cd../
       
      # 升级openssh
      tarzxf openssh-5.8p2.tar.gz
      cdopenssh-5.8p2
      ./configure--prefix=/usr--sysconfdir=/etc/ssh--with-pam \
      --with-ssl-dir=/usr/local/ssl--with-md5-passwords --with-zlib
      make
      makeinstall
      cd../
      配置ssh
      修改ssh端口为5678,禁止root用户通过ssh登陆,禁止空密码用户通过ssh登陆等,加强安全设置。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      sed-i "s/#Port 22/Port 5678/g"/etc/ssh/sshd_config
      sed-i "s/#PermitRootLogin yes/PermitRootLogin no/g"/etc/ssh/sshd_config
      sed-i "s/#PermitEmptyPasswords no/PermitEmptyPasswords no/g"/etc/ssh/sshd_config
      sed-i "s/UsePAM yes/UsePAM no/g"/etc/ssh/sshd_config
      sed-i "s/#UseDNS yes/UseDNS no/g"/etc/ssh/sshd_config
      sed-i "s/GSSAPIAuthentication yes/#GSSAPIAuthentication yes/g"/etc/ssh/sshd_config
      sed-i "s/GSSAPICleanupCredentials yes/#GSSAPICleanupCredentials yes/g"/etc/ssh/sshd_config
      sed-i "s/#MaxAuthTries 6/MaxAuthTries 3/g"/etc/ssh/sshd_config
      sed-i "s/#X11Forwarding no/X11Forwarding no/g"/etc/ssh/sshd_config
       
      sed-i "s/GSSAPIAuthentication yes/#GSSAPIAuthentication yes/g"/etc/ssh/ssh_config
      重启ssh后,查看版本
      1
      2
      service sshd restart
      ssh-V


      ###########################################

      #                                               防火墙设置 
      ###########################################

      增加firewall.sh脚本控制防火墙,记住,ssh上去,改防火墙,直接运行/sbin/iptables -P INPUT DROP后,你连vps都连不上了,ssh端口也被关了。
      请注意你的ssh端口。我修改的是5678,请修改成自己的端口。
      1
      vim /etc/init.d/firewall.sh
      添加以下代码
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      #!/bin/sh
      #
      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:~/bin
      exportPATH
       
      case"$1"in
      start)
       echo-n "Staring to write your Iptbales:..."
       /sbin/iptables-P INPUT DROP
       /sbin/iptables-P OUTPUT ACCEPT
       /sbin/iptables-P FORWARD DROP
       /sbin/iptables-A INPUT -i lo -j ACCEPT
       /sbin/iptables-A INPUT -m state --state ESTABLISHED -j ACCEPT
       /sbin/iptables-A INPUT -p tcp --dport 5678 -j ACCEPT
       /sbin/iptables-A INPUT -p tcp --dport 80 -j ACCEPT
       /sbin/iptables-A INPUT -i lo -p all -j ACCEPT
       /sbin/iptables-A OUTPUT -p tcp --sport 31337 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 31340 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 31335 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 20034 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 27665 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 27444 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 9704 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 2049 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 137 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 138 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 139 -j DROP
       /etc/rc.d/init.d/iptablessave
       echo"Ok"
      ;;
      stop)
       echo-n "Cleaning your Iptables:..."
       /sbin/iptables-F
       /sbin/iptables-X
       /sbin/iptables-Z
       /sbin/iptables-P INPUT ACCEPT
       /sbin/iptables-P OUTPUT ACCEPT
       /etc/rc.d/init.d/iptablessave
       echo"Ok"
      ;;
      restart)
       echo-n "Cleaning your Iptables:..."
       /sbin/iptables-F
       /sbin/iptables-X
       /sbin/iptables-Z
       echo"Ok"
       echo-n "Staring to write your Iptbales:..."
       /sbin/iptables-P INPUT DROP
       /sbin/iptables-P OUTPUT ACCEPT
       /sbin/iptables-P FORWARD DROP
       /sbin/iptables-A INPUT -p tcp --dport 5678 -j ACCEPT
       /sbin/iptables-A INPUT -p tcp --dport 80 -j ACCEPT
       /sbin/iptables-A INPUT -i lo -p all -j ACCEPT
       /sbin/iptables-A OUTPUT -p tcp --sport 31337 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 31340 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 31335 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 20034 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 27665 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 27444 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 9704 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 2049 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 137 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 138 -j DROP
       /sbin/iptables-A OUTPUT -p tcp --sport 139 -j DROP
       /etc/rc.d/init.d/iptablessave
       echo"Ok"
      ;;
      *)
       echo"Usage: $0    {start|stop|restart}"
      esac
      exit0
      修改防火墙设置,并重启防火墙。
      1
      2
      3
      sh /etc/init.d/firewall.sh stop
      sh /etc/init.d/firewall.sh start
      service iptables restart


      ###########################################

      #                                             安装mysql 
      ###########################################

      1
      2
      3
      # 下载相关文件
      cd/data/src
      wget http://blog.s135.com/soft/linux/nginx_php/mysql/mysql-5.5.3-m3.tar.gz
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      # 安装mysql
      tarzxf mysql-5.5.3-m3.tar.gz
      cdmysql-5.5.3-m3
      ./configure--prefix=/usr/local/mysql/--enable-assembler \
      --with-extra-charsets=complex --enable-thread-safe-client \
      --with-big-tables --with-readline --with-ssl --with-embedded-server \
      --enable-local-infile --with-plugins=partition,innobase,myisammrg
      make
      makeinstall
       
      # 添加mysql用户,修改mysql目录权限
      /usr/sbin/groupaddmysql
      /usr/sbin/useradd-g mysql mysql -s /sbin/nologin
      chown-R mysql:mysql /usr/local/mysql
      cd../
      创建MySQL数据库存放目录
      1
      2
      3
      4
      mkdir-p /data/mysql/data/
      mkdir-p /data/mysql/binlog/
      mkdir-p /data/mysql/relaylog/
      chown-R mysql:mysql /data/mysql/
      以mysql用户帐号的身份建立数据表,创建my.cnf配置文件:
      1
      2
      3
      /usr/local/mysql/bin/mysql_install_db--basedir=/usr/local/mysql\
      --datadir=/data/mysql/data--user=mysql
      vi/data/mysql/my.cnf
      添加以下代码
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      [client]
      default-character-set= utf8
      port = 3306
      socket = /tmp/mysql.sock
       
      [mysqld]
      character-set-server = utf8
      user    = mysql
      port    = 3306
      socket = /tmp/mysql.sock
      basedir = /usr/local/mysql
      datadir = /data/mysql/data
      log-error = /data/mysql/mysql_error.log
      pid-file/data/mysql/mysql.pid
      slow-query-log  = /data/mysql/slow.log
      log-bin = /data/mysql/binlog/binlog
      open_files_limit    = 600
      back_log = 20
      max_connections = 100
      max_connect_errors = 200
      table_cache = 60
      external-locking = FALSE
      max_allowed_packet = 16M
      sort_buffer_size = 128K
      join_buffer_size = 128K
      thread_cache_size = 10
      query_cache_size = 0M
      query_cache_limit = 2M
      query_cache_min_res_unit = 2k
      default-storage-engine = MyISAM
      thread_stack = 192K
      tmp_table_size = 512K
      max_heap_table_size = 32M
      long_query_time = 1
      server-id= 1
      binlog_cache_size = 2M
      max_binlog_cache_size = 4M
      max_binlog_size = 1G
      expire_logs_days = 7
      key_buffer_size = 4M
      read_buffer_size = 1M
      read_rnd_buffer_size = 2M
      bulk_insert_buffer_size = 2M
      myisam_sort_buffer_size = 4M
      myisam_max_sort_file_size = 10G
      myisam_repair_threads = 1
      myisam_recover
       
      [mysqldump]
      quick
      max_allowed_packet = 16M
      创建/etc/my.cnf链接,增加/usr/local/mysql/bin/mysql环境变量,添加mysql系统启动,启动mysql。
      1
      2
      3
      4
      5
      6
      7
      8
      ln-s /data/mysql/my.cnf /etc/my.cnf
      ln-s /usr/local/mysql/bin/mysql/usr/bin
      cp/usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
      chmod+x /etc/init.d/mysqld
      chkconfig --add mysqld
      chkconfig mysqld on
      /usr/local/mysql/bin/mysqld_safe--user=mysql &
      service mysqld restart
      通过命令行登录管理MySQL服务器(提示输入密码时直接回车):
      1
      /usr/local/mysql/bin/mysql-u root -p -S /tmp/mysql.sock
      输入以下SQL语句,删除多余用户,设置root密码(123456):
      1
      2
      3
      4
      DELETEFROMmysql.userWHEREuser=''orhost='::1';
      UPDATEmysql.userSETpassword=PASSWORD("123456"WHEREuser='root';
      flush privileges;
      exit;


      ###########################################

      #                                             php编译安装 
      ###########################################

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      #安装memcached服务端(可选)
       
      cd/data/src
      wget http://monkey.org/~provos/libevent-2.0.12-stable.tar.gz
      wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
      wget http://pecl.php.net/get/memcached-1.0.2.tgz
      wget http://launchpad.net/libmemcached/1.0/0.49/+download/libmemcached-0.49.tar.gz
       
      tarzxf libevent-2.0.12-stable.tar.gz
      cdlibevent-2.0.12-stable
      ./configure--prefix=/usr/local/libevent
      make&& makeinstall
      cd../
      ln-s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5
      ln-s /usr/local/libevent/lib/libevent.a /usr/lib/libevent.a
       
      tarzxf memcached-1.4.5.tar.gz
      cdmemcached-1.4.5
      ./configure--with-libevent=/usr/local/libevent/
      make&& makeinstall
      cd../
       
      tarzxf libmemcached-0.49.tar.gz
      cdlibmemcached-0.49
      ./configuremake&& makeinstall
      cd../
      编写memcached启动脚本
      1
      vi/etc/init.d/memcached
      添加以下内容
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      #!/bin/sh
      #
      # memcached: MemCached Daemon
      #
      # chkconfig: - 90 25
      # description:  MemCached Daemon
      #
      # Source function library.
      /etc/rc.d/init.d/functions
      /etc/sysconfig/network   
       
      start()
      {
          echo-n $"Starting memcached: "
          daemon /usr/bin/memcached-u daemon -d -m 8 -c 256 -l 127.0.0.1 -p 11211 -P /tmp/memcached.pid
          echo
      }
       
      stop()
      {
          echo-n $"Shutting down memcached: "
          killproc memcached
          echo
      }   
       
      [ -f /usr/bin/memcached] || exit0
       
      # See how we were called.
      case"$1"in
          start)
          start
          ;;
          stop)
          stop
          ;;
          restart|reload)
          stop
          start
          ;;
          condrestart)
          stop
          start
          ;;
          *)
          echo$"Usage: $0 {start|stop|restart|reload|condrestart}"
          exit1
      esac
      exit0
      添加到系统启动
      1
      2
      chkconfig --add memcached
      chkconfig memcached on
      编译安装PHP 5.2.17所需的其他支持库:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      cd/data/src
      wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
      wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0
      wget http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&big_mirror=0
      wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&big_mirror=0
       
      tarzxf libiconv-1.13.1.tar.gz
      cdlibiconv-1.13.1/
      ./configure--prefix=/usr/local
      make
      makeinstall
      cd../
       
      tarzxf libmcrypt-2.5.8.tar.gz
      cdlibmcrypt-2.5.8/
      ./configure
      make
      makeinstall
      /sbin/ldconfig
      cdlibltdl/
      ./configure--enable-ltdl-install
      make
      makeinstall
      cd../../
       
      ln-s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
      ln-s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
      ln-s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
      ln-s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
      ln-s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
      ln-s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
      ln-s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
      ln-s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
      ln-s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
      ln-s /usr/local/bin/libmcrypt-config/usr/bin/libmcrypt-config
       
      tarzxf mcrypt-2.6.8.tar.gz
      cdmcrypt-2.6.8/
      /sbin/ldconfig
      ./configure
      make
      makeinstall
      cd../
       
      tarzxf mhash-0.9.9.9.tar.gz
      cdmhash-0.9.9.9/
      ./configure
      make
      makeinstall
      cd../
      编译安装php5.2.17
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      cd/data/src
      wget http://www.php.net/get/php-5.2.17.tar.gz/from/this/mirror
      wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
       
      tarzxf php-5.2.17.tar.gz
      gzip-cdphp-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
      cdphp-5.2.17/
      ./configure--prefix=/usr/local/php--with-config-file-path=/usr/local/php/etc\
      --with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config\
      --with-iconv-dir=/usr/local--with-freetype-dir--with-jpeg-dir--with-png-dir\
      --with-zlib --with-libxml-dir=/usr--enable-xml --disable-rpath \
      --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop \
      --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers \
      --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect \
      --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl \
      --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl \
      --with-xmlrpc --enable-zip --enable-soap
      makeZEND_EXTRA_LIBS='-liconv'
      makeinstall
      cpphp.ini-dist /usr/local/php/etc/php.ini
      cd../
      #安装其他拓展(可选,但是建议一定要把APC装上)
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      cd/data/src
      wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gz
      wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
      wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz
      wget http://pecl.php.net/get/imagick-2.3.0.tgz
      wget http://pecl.php.net/get/APC-3.1.9.tgz
       
      tarzxf APC-3.1.9.tgz
      cdAPC-3.1.9
      /usr/local/php/bin/phpize
      ./configure--enable-apc --enable-apc-mmap \
      --with-php-config=/usr/local/php/bin/php-config--prefix=/usr/local/apc
      make
      makeinstall
      cd../
       
      tarzxf memcached-1.0.2.tgz
      cdmemcached-1.0.2
      /usr/local/php/bin/phpize
      ./configure--enable-memcached --with-php-config=/usr/local/php/bin/php-config--with-zlib-dir
      make
      makeinstall
      cd../
       
      tarzxf PDO_MYSQL-1.0.2.tgz
      cdPDO_MYSQL-1.0.2/
      /usr/local/php/bin/phpize
      ./configure--with-php-config=/usr/local/php/bin/php-config--with-pdo-mysql=/usr/local/mysql
      make
      makeinstall
      cd../
       
      tarzxf PDO_MYSQL-1.0.2.tgz
      cdPDO_MYSQL-1.0.2/
      /usr/local/php/bin/phpize
      ./configure--with-php-config=/usr/local/php/bin/php-config--with-pdo-mysql=/usr/local/mysql
      make
      makeinstall
      cd../
       
      tarzxf ImageMagick.tar.gz
      cdImageMagick-6.5.1-2/
      ./configure
      make
      makeinstall
      cd../
       
      tarzxf imagick-2.3.0.tgz
      cdimagick-2.3.0/
      /usr/local/php/bin/phpize
      ./configure--with-php-config=/usr/local/php/bin/php-config
      make
      makeinstall
      cd../
      修改php.ini文件
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      sed-i 's#extension_dir = "./"#\
      extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"\n\
      extension = "memcached.so"\nextension = "pdo_mysql.so"\nextension = "imagick.so"\n#g' \
      /usr/local/php/etc/php.ini
      sed-i 's#output_buffering = Off#output_buffering = On#g'/usr/local/php/etc/php.ini
      sed-i 's#allow_url_fopen = Off#allow_url_fopen = On#g'/usr/local/php/etc/php.ini
      sed-i 's#; always_populate_raw_post_data = On#always_populate_raw_post_data = On#g'\
      /usr/local/php/etc/php.ini
      sed-i 's#; cgi.fix_pathinfo=0#cgi.fix_pathinfo=0#g'/usr/local/php/etc/php.ini
      sed-i 's#; cgi.fix_pathinfo=0#cgi.fix_pathinfo=0#g'/usr/local/php/etc/php.ini
      在php.ini中配置APC
      1
      2
      3
      echo-e '[apc]\nextension="apc.so"\napc.enabled = 1\napc.cache_by_default = on\n\
      apc.shm_segments = 1\napc.shm_size = 64M\napc.ttl = 7200\napc.user_ttl = 7200\n\
      apc.num_files_hint = 0\napc.write_lock = On\n' >> /usr/local/php/etc/php.ini
      创建www用户和web目录
      1
      2
      3
      4
      /usr/sbin/groupaddwww
      /usr/sbin/useradd-g www www -s /sbin/nologin
      mkdir-p /data/www/abc
      chown-R www:www /data/www/abc
      创建php-fpm配置文件:
      在/usr/local/php/etc/目录中创建php-fpm.conf文件:
      1
      2
      mv/usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php-fpm.conf.bak
      vi/usr/local/php/etc/php-fpm.conf
      添加以下代码(<value name=”max_children”>10</value>中10为php-cgi的进程数,可以自行修改,1个进程大约消耗20MB左右内存)
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      123
      124
      125
      126
      127
      128
      129
      130
      131
      132
      133
      134
      135
      136
      137
      138
      139
      140
      141
      142
      143
      144
      145
      146
      147
      148
      149
      150
      151
      152
      153
      154
      155
      156
      157
      <?xml version="1.0"?>
      <configuration>
       
          All relative paths inthis config are relative to php's installprefix
       
          <section name="global_options">
       
              Pid file
              

      如何安装Virtualmin/Webmin在centos5上(一行命令安装virtualmin面板)

       

      虽然Virtualmin/Webmin面板对于新手来说比较复杂,不太适合,但是它比较稳定,在国外口碑比较好。适合懂得ssh并有linux管理经验的人使用。本脚本,推荐使用 centos 5 32位/64位

      ESX与ESXi管理员必备25个命令

       

      Linux命令
        ESX服务控制台是基于Linux的,因此许多Linux命令都可以在它里面使用。下面是常见的Linux命令和一些VMware命令的详细版本。
      •Find/cat/grep命令查找,显示和搜索文件。Find找出具体的文件,cat显示文件内容,并把文件拼接在一起,同时grep负责在拼接的所有文件中找到所需文本。这些命令可以帮助管理员发现,如基础设施快照文件的具体内容,也显示日志和配置文件。他们还可以搜索内部文件的信息。
      •Tail显示一个文本的最后部分的文件,也可以输出到监控实时文件。此命令有助于实时监控日志文件。
      •Service可以启动、停止和重新启动主机服务器上的服务(或程序)。一些常见的ESX服务包括MGMT的和VMware、vmware-vpxa、firewall、vmware-hostd和vmware Web Access。此命令可以重新启动服务,挂起或进行配置更改。
      •Nano和vi编辑文本文件。Nano是一个比Vi更简单且易于使用的编辑器,但Vi具有更强大的编辑功能。在ESX主机上文本编辑器帮助编辑配置文件。
      •Su和sudo命令帮助控制和防止root帐户被使用。Su提升了较差的用户帐户到超级用户的权限。sudo运行另一个在sudoers配置文件中指定的用户命令。
      •ls列出文件和目录信息。通过使用某些交换机,可以显示详细的文件资料,包括所有者、大小、权限和最后修改日期。
      •Df和vdf显示文件系统(分区)的资料,包括自由空间。 Df命令不会显示虚拟机文件系统(VMFS)卷,因为它无法阅读。vdf是该命令的VMware的版本,这也将显示VMFS卷的信息。两个命令都可以使用H变换,可用易读的形式显示。(即2 GB,而不是2016044)
      •Ps和kill命令可以强行终止VM。 Ps可以显示主机状态或进程。它可以使用很多开关,但最常见的是EF,它可以显示每个进程运行的所有信息。 kill命令经常与PS命令一起用来终止某个正在运行的进程。
      •Ping和vmkping是最基本的网络故障排除命令。 Ping通过发送Internet控制消息协议数据包测试与其他主机和网络设备的网络连接。 Vmkping是VMware的Ping命令的特定版本。它使用的IP VMkernel去Ping另一个ESX主机的VMkernel端口。此命令有助于解决VMotion和网络存储的问题。
        VMware ESX和ESXi命令
        这些VMware ESX和ESXi的命令可以运行在ESX服务控制台(本地或远程使用Secure Shell)或RCLI(在VMware Infrastructure 3)和vSphere CLI的(在vSphere)。在RCLI和vSphere CLI中,注意到很多命令已更名为vicfg,而不是esxcfg -(即esxcfg - nics.pl和vicfg - nics.pl)。两个命令都执行相同的功能,但VMware试图从esxcfg迁移到vicfg。
      •vmkfstools被比做虚拟磁盘中的瑞士军刀,可用于复制、转换、重命名、输入、输出和调整虚拟磁盘文件的大小。
      •Esxtop故障排除。它提供实时的CPU、内存、硬盘和网络使用的历史表现的统计数字。
      •Esxcfg-nics观察和配置物理网络接口卡(NIC)。它显示网卡状态和配置的速度和全双工网卡。
      •Esxcfg-vswitch显示和配置虚拟交换机。它是在vSphere不能使用网络中有用的配置客户端。该命令用于配置端口组和连接物理网卡(称为上行)配置虚拟局域网ID,思科协议(CDP)和vswitch中的MTU。
      •Esxcfg-vswif和esxcfg-vmknic允许您查看和配置vSwitches特殊的端口组。 Esxcfg - vswif配置的ESX服务控制台网络接口,它也被称为vswif港口。 Esxcfg - vmknic配置VMkernel网络接口,这是VMotion和连接到iSCSI和网络文件系统的网络存储设备所必要的。
      •Vmware-cmd是一个复合管理命令,负责管理和检索虚拟机信息。它可以改变虚拟机电源状态、管理快照、注册和注销的用户,并检索和设置各种虚拟机的信息。
      •Vimsh和vmware-vim-cmd是复杂的命令,只有完全了解才能使用。 Vimsh是一个强大的交互式框架,有很多允许执行的命令,以及具备显示和配置能力。 VMware的vim - cmd是一种逻辑的vimsh,能够简化vimsh,无需知道很多前端交换命令。 
      •Vihostupdate和esxupdate更新ESX和ESXi主机和打补丁。 Esxupdate用于ESX服务控制台和vihostupdate,通过RCLI / vSphere CLI使用。此外,vihostupdate35是用来修补ESX和ESXi 3.5版主机。
      •Svmotion是RCLI/vSphere CLI命令,用于发起Storage VMotion的迁移虚拟机虚拟磁盘到另一个数据存储空间。此命令的ESX 3.5版本是唯一启动SVMotion的方法,加上vSphere客户端的GUI,vSphere能做到这一点。
      •Esxcfg-mpath显示和设置一台主机从所有路径到达它的存储设备。
      •Esxcfg-rescan让主机产生一个特定的存储适配器,用来发现新的存储设备。这是非常有用的工具,存储设备已被添加,删除或从存储网络改变。
      •Esxcfg-scsidevs和esxcfg-vmhbadevs显示连接到主机的存储设备的资料。 Esxcfg - vmhbadevs用于ESX 3.5,在vSphere中被 esxcfg-scsidevs取代。
      •Esxcfg-firewall显示信息和配置内置的防火墙保护ESX服务控制台。它允许和阻止特定的TCP /IP服务之间的控制台和其他网络设备端口。
      •Esxcfg-info命令提供了有关运行中的主机信息。它可以重新定向到一个文本文件记录主机配置。
      •Esxcfg-auth在ESX主机上配置服务控制台验证。它可以配置第三方LDAP或Active Directory服务器的身份验证并设置多个本地安全选项。
      •Vm-support是一个强大的信息收集工具,常用于故障排除。该命令收集大量信息、日志文件,并把很多命令以单一的tgz存档文件方式输出。它也可以用来显示VM的信息以及停止没有响应的虚拟机。
        上述命令有很多不同的语法、选择和变化。有了它们,你的工作将事半功倍 

       

      在 VMware ESXi 5.0 上安装网卡驱动(普通安装找不到网卡驱动时)

       

      先安装一个能识别网卡的 版本
       
      到 VMWare 官方网站下载网卡驱动,然后上传到 VMware ESXi 服务器的一个临时目录 /tmp  (记得有的驱动可能有双层压缩,先看看里面带index.xml的才是驱动包)
       
      查看系统安装的包的版本:
      esxcli software vib list
      方法一、
      升级最新版的VMware ESXi  补丁
      命令:esxcli software vib update -d="/vmfs/volumes/datastore1/XXXXXXX.zip"  这个是升级  重启就ok
       
      如果是用
      esxcli software vib install -d="/vmfs/volumes/datastore1/XXXXXXX.zip"
       重启之后会提示不能识别网卡
      用老版本(能识别网卡驱动的那个版本)启动机器,根据提示安装  安装到时候选择升级
      完成后 ok   重启
      已经能识别网卡了,重新注册序列号就可以用了
      如果发现网卡的驱动有更新的话 
       
      比较的命令是:
      esxcli software sources vib list -d="/tmp/1.zip"就再次更新网卡驱动 不更新也能正常使用
      比较的结果有个状态,建议升级就升级  建议安装就安装
       
      方法二、
      升级最新版的VMware ESXi  补丁  重启之后会提示不能识别网卡
      直接用新版的网卡驱动升级
      esxcli software vib update -d="/vmfs/volumes/datastore1/XXXXXXX.zip"
       
      如果提示没有网卡驱动就
      esxcli software vib install -d="/vmfs/volumes/datastore1/XXXXXXX.zip"

       

      Centos6.3 + php5.3 + nginx1.2.2 + mysql5.5服务器搭建过程及问题记录

       

      一.配置环境

        OS:Centos6.3

      CentOS 6.3编译安装Nginx1.2.2+MySQL5.5.25a+PHP5.4.5

       准备篇:
      一、配置好IP、DNS 、网关,确保使用远程连接工具能够连接服务器
      CentOS 设置IP地址、网关、DNS教程:
      二、配置防火墙,开启80端口、3306端口
      vi /etc/sysconfig/iptables
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙
      特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
      添加好之后防火墙规则如下所示:
      系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
      #########################################################
      # Firewall configuration written by system-config-firewall
      # Manual customization of this file is not recommended.
      *filter
      :INPUT ACCEPT [0:0]
      :FORWARD ACCEPT [0:0]
      :OUTPUT ACCEPT [0:0]
      -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      -A INPUT -p icmp -j ACCEPT
      -A INPUT -i lo -j ACCEPT
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
      -A INPUT -j REJECT --reject-with icmp-host-prohibited
      -A FORWARD -j REJECT --reject-with icmp-host-prohibited
      COMMIT
      #########################################################
      /etc/init.d/iptables restart #最后重启防火墙使配置生效
      三、关闭SELINUX
      vi /etc/selinux/config
      #SELINUX=enforcing #注释掉
      #SELINUXTYPE=targeted #注释掉
      SELINUX=disabled #增加
      :wq 保存,关闭
      shutdown -r now #重启系统
      四 、系统约定
      软件源代码包存放位置:/usr/local/src
      源码包编译安装位置:/usr/local/软件名字
      五、下载软件包
      1、下载nginx(目前稳定版)

      2、下载pcre (支持nginx伪静态)

      4、下载MySQL

      5、下载php

      6、下载cmake(MySQL编译工具)

      7、下载libmcrypt(PHPlibmcrypt模块)

      以上软件包使用WinSCP工具上传到/usr/local/src目录
      WinSCP下载地址:
      六、安装编译工具及库文件(使用CentOS yum命令安装)
      yum install make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch
      安装篇
      以下是用putty工具远程登录到服务器,在命令行下面操作的
      一、安装cmake
      cd /usr/local/src
      tar zxvf cmake-2.8.8.tar.gz
      cd cmake-2.8.8
      ./configure
      make #编译
      make install #安装
      二、安装mysql
      groupadd mysql #添加mysql组
      useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
      mkdir -p /data/mysql #创建MySQL数据库存放目录
      chown -R mysql:mysql /data/mysql #设置MySQL数据库目录权限
      mkdir -p /usr/local/mysql #创建MySQL安装目录
      cd /usr/local/src
      tar zxvf mysql-5.5.25a.tar.gz #解压
      cd mysql-5.5.25a
      cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置
      make #编译
      make install #安装
      cd /usr/local/mysql
      cp ./support-files/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
      vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加下面一行
      datadir = /data/mysql #添加MySQL数据库路径
      :wq! #保存退出
      ./scripts/mysql_install_db --user=mysql #生成mysql系统数据库
      cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动
      chmod 755 /etc/init.d/mysqld #增加执行权限
      chkconfig mysqld on #加入开机启动
      vi /etc/rc.d/init.d/mysqld #编辑
      basedir = /usr/local/mysql #MySQL程序安装路径
      datadir = /data/mysql #MySQl数据库存放目录
      service mysqld start #启动
      vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
      export PATH=$PATH:/usr/local/mysql/bin
      :wq! #保存退出
      下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。
      ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
      ln -s /usr/local/mysql/include/mysql /usr/include/mysql
      shutdown -r now #需要重启系统,等待系统重新启动之后继续在终端命令行下面操作
      mysql_secure_installation #设置Mysql密码
      根据提示按Y 回车
      然后输入2次密码
      继续按Y 回车,直到设置完成
      或者直接修改密码/usr/local/mysql/bin/mysqladmin -u root -p password "123456" #修改密码
      service mysqld restart #重启
      到此,mysql安装完成!
      三、安装pcre
      cd /usr/local/src
      mkdir /usr/local/pcre #创建安装目录
      tar zxvf pcre-8.31.tar.gz
      cd pcre-8.31
      ./configure --prefix=/usr/local/pcre #配置
      make
      make install
      四、安装 nginx
      cd /usr/local/src
      groupadd www #添加www组
      useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
      tar zxvf nginx-1.2.2.tar.gz
      cd nginx-1.2.2
      ./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.31
      注意:--with-pcre=/usr/local/src/pcre-8.31指向的是源码包解压的路径,而不是安装的路径,否则会报错
      make
      make install
      /usr/local/nginx/sbin/nginx #启动nginx
      设置nginx开启启动
      vi /etc/rc.d/init.d/nginx #编辑启动文件添加下面内容
      =======================================================
      #!/bin/bash
      # nginx Startup script for the Nginx HTTP Server
      # it is v.0.0.2 version.
      # chkconfig: - 85 15
      # description: Nginx is a high-performance web and proxy server.
      # It has a lot of features, but it's not for everyone.
      # processname: nginx
      # pidfile: /var/run/nginx.pid
      # config: /usr/local/nginx/conf/nginx.conf
      nginxd=/usr/local/nginx/sbin/nginx
      nginx_config=/usr/local/nginx/conf/nginx.conf
      nginx_pid=/usr/local/nginx/logs/nginx.pid
      RETVAL=0
      prog="nginx"
      # Source function library.
      . /etc/rc.d/init.d/functions
      # Source networking configuration.
      . /etc/sysconfig/network
      # Check that networking is up.
      [ ${NETWORKING} = "no" ] && exit 0
      [ -x $nginxd ] || exit 0
      # Start nginx daemons functions.
      start() {
      if [ -e $nginx_pid ];then
      echo "nginx already running...."
      exit 1
      fi
      echo -n $"Starting $prog: "
      daemon $nginxd -c ${nginx_config}
      RETVAL=$?
      echo
      [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
      return $RETVAL
      }
      # Stop nginx daemons functions.
      stop() {
      echo -n $"Stopping $prog: "
      killproc $nginxd
      RETVAL=$?
      echo
      [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
      }
      reload() {
      echo -n $"Reloading $prog: "
      #kill -HUP `cat ${nginx_pid}`
      killproc $nginxd -HUP
      RETVAL=$?
      echo
      }
      # See how we were called.
      case "$1" in
      start)
      start
      ;;
      stop)
      stop
      ;;
      reload)
      reload
      ;;
      restart)
      stop
      start
      ;; 

      Centos6.2 web服务器分区

       分区类型      分区的实际大小                     解析
      SWAP分区     2G                  (内存为1G,一般为内存的2倍) 
      /             1G-2G                  (最少要150–250MB) 
      /boot         32M-100M                (启动分区,最多只要100M左右) 
      /opt         100M-1G                 (附加应用程序) 
      /tmp         40M-1000M                (最大可以设为1G左右,如果加载ISO镜像文 件就设为4G左右吧,一般不用那么多) 
      /home        2G-10G                  (每个用户100M左右,具体自定。用户目录。) 
      /usr         3G-10G                  (最耗用空间的部份。最少要500M左右,一般 宽松的服务器要分到4-6G) 
      /usr/local     3G-15G                         (自已安装程序安装在此) 
      /var        >2G--硬盘余下全部空间        ( 最少300M-500M,一般2-3G,做服务器的 话把上面余下的空间都分给它) 






      1)下面以80G硬盘为服务器做的分区和挂载点:(本例是在VM6.0中虚拟的80G硬盘,安装Red Hat Linux9.0时进行的分区和挂载点设置) 
      1、空闲的80G SCSI硬盘. 

      2、先分一个1G分区,挂载点为:/
      3、再分一个交换分区,是内存的1-2倍
      4、分一个100M分区,挂载点为:/boot
      5、分一个分区为1024M,挂载点为:/opt 
      6、分一个4000M分区,挂载点为:/tmp 
      7、分一个10G分区,挂载点为:/home
      8、分一个20G分区,挂载点为:/usr/local
      9、“使用全部可用空间”分一个区,挂载点为:/var

      2)下面以160G硬盘为服务器做的分区和挂载点:(本例是在实体机硬盘,安装centos6.2时进行的分区和挂载点设置)
      1.两个1G的交换分区(内存为2G)
      2.分一个100M的分区,挂载点为:/boot
      3.分一个40G的分区,挂载点为:/usr
      4.分一个20G的分区,挂载点为:/
      5.分一个40G的分区,挂载点为:/tmp
      6.分一个10G的分区,挂载点为:/home
      7.剩余的分区,挂载点为:/var
      3)服务器分区百分比
      1.两个1G的交换分区(内存为2G)
      2.分一个100M左右的分区,挂载点为:/boot
      3.25%挂载点为:/tmp
      4.25%,挂载点为:/usr
      5.12.5%,挂载点为:/
      6.6.25%,挂载点为:/home
      7.剩余空间,挂载点为:/var


      知识点解析:Linux分区是不同于其它操作系统分区的,它的分区格式常用的有Ext4和Swap两种,Ext4用于存放系统文件,Swap则作为Linux的交换分区(相当于windows中的虚拟内存文件)。那么现在我们就可以知道Linux至少需要两个专门的分区(Linux Native(本地)和Linux Swap(交换))。由于不能将Linux安装在Dos/Windows分区。一般来说我们将Linux安装一个或多个类型为“Linux Native”的硬盘分区,但是在 Linux的每一个分区都必须要指定一个“Mount Point”(挂载点),告诉Linux在启动时,这个目录要给哪个目录使用。对“Swap”分区来说,一般定义一个且它不必要定义载入点。 
      下面我们先对“Linux Native”和“Linux Swap”有个初步的了解。 
      *SWAP分区是LINUX暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为SWAP使用的分区不用指定“Mout Point”(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的一至两倍。另外你也可以创建和使用一个以上的交换分区,最多16个。 
      *Linux Native是存放系统文件的地方,一般用EXT4的分区类型,对Linux来说,有了较大的选择余地,可以把系统文件分几个区来装(必须要说明挂载点),也可以就装在同一个分区中(挂载点是“/”)。 

      Linux 代理脚本,我见过最牛的脚本

      Linux 代理脚本,我见过最牛的脚本

      #iptables

      本脚本环境为eth0外网,eth1内网;
      #!/bin/sh
      #外网网卡
      EXT_IF="eth0"
      FW_IP="61.137.85.21"
      #内网网卡
      INT_IF="eth1"
      LAN_IP="192.168.0.1"
      ...

      Powered By Z-BlogPHP 1.5.2 Zero & Theme by Washun Copyright Csuper All Rights Reserved. 湘ICP备18017694 网络是工具,不是玩具 QQ:493754678 [登录]