LinuxBasis

安裝exif擴展

# EXIFExchangeable image file format)是可交換影像檔的縮寫,是專門為數碼相機的照片設定的,可以記錄數碼照片的屬性資訊和拍攝資料。
# EXIF可以附加於JPEGTIFFRIFF等文件之中,為其增加有關數碼相機拍攝資訊的內容和索引圖或影像處理軟體的版本資訊

php安裝包
cd /ext/exif/
/path/bin/phpize
./configure –with-php-config=
make && make
extension = “exif.so”
重啟WEB


linux批量添加IP

在維護虛擬主機工作中碰到過這樣的需求,一台VPS購買了好幾十個IP,手動添加太費精力了,有沒有快速的添加方法呢?答案是有的,客官!您來對了!
cpanelwebmin控制台批量添加IP,有時候,控制台批量添加並不管用!那麼,我們就手動加咯,可是,那麼多怎麼辦?關鍵在於如何批量添加IP別名。下面我舉個例子,大家可以參照!
當主IPeth070.70.70.34
vi /etc/sysconfig/network-scripts/ifcfg-eth0-range0
IPADDR_START=70.70.70.35 #注意不能和主IP相同,否則重啟網卡可能會連不上。
IPADDR_END=70.70.70.62
NETMASK=255.255.255.224
BROADCAST=70.70.70.255
CLONENUM_START=0 #1時是從eth0:1開始數起
如果有多個不同段IP,繼續創建
/etc/sysconfig/network-scripts/ifcfg-eth0-range1
IPADDR_START=70.70.80.35
IPADDR_END=70.70.80.62
NETMASK=255.255.255.224
BROADCAST=70.70.80.255
CLONENUM_START=29 #range0eth0:0開始一直到eth0:28
/etc/sysconfig/network-scripts/ifcfg-eth0-range2 以此類推
若主IPeth1網卡上,則改變/etc/sysconfig/network-scripts/ifcfg-eth1-range0 以此類推
最後重啟網卡
附:
NETMASK 子網路遮罩 參考表:
/29 (5 usable) NETMASK = 255.255.255.248
/28 (13 usable) NETMASK = 255.255.255.240
/27 (29 usable) NETMASK = 255.255.255.224
/26 (61 usable) NETMASK = 255.255.255.192
/25 (125 usable) NETMASK = 255.255.255.128
/24 (253 usable) NETMASK = 255.255.255.0

Linux內核
 
發一個LINUX的內核優化的文檔

vm.swappiness = 10
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_mem = 786432 1048576 1572864
net.core.wmem_max = 873200
net.core.rmem_max = 873200
net.ipv4.tcp_wmem = 8192 436600 873200
net.ipv4.tcp_rmem = 32768 436600 873200
net.core.somaxconn = 256
net.core.netdev_max_backlog = 1000
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.conf.lo.arp_ignore = 0
net.ipv4.conf.lo.arp_announce = 0
net.ipv4.conf.all.arp_ignore = 0
net.ipv4.conf.all.arp_announce = 0
#下面是iptables相關
net.ipv4.ip_conntrack_max = 6553600
net.ipv4.netfilter.ip_conntrack_max = 6553600
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
net.ipv4.neigh.default.gc_thresh1 = 10240
net.ipv4.neigh.default.gc_thresh2 = 40960
net.ipv4.neigh.default.gc_thresh3 = 81920
幾個解釋:
swappiness的值的大小對如何使用swap分區是有著很大的聯繫的。swappiness=0的時候表示最大限度使用實體記憶體,然後才是 swap空間,swappiness100的時候表示積極的使用swap分區,並且把記憶體上的資料及時的搬運到swap空間裡面。兩個極端,對於 centos linux 5的默認設置,這個值等於60,建議修改為10
net.ipv4.tcp_syncookies = 1
#表示開啟SYN Cookies。當出現SYN等待佇列溢出時,啟用cookies來處理,可防範少量SYN攻擊,默認為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1
#表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1
#表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉。
net.ipv4.tcp_fin_timeout = 30
#表示如果通訊端由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間。
net.ipv4.tcp_keepalive_time = 1200
#表示當keepalive起用的時候,TCP發送keepalive消息的頻度。缺省是2小時,改為20分鐘。
net.ipv4.ip_local_port_range = 1024 65000
#表示用於向外連接的埠範圍。缺省情況下很小:3276861000,改為102465000
net.ipv4.tcp_max_tw_buckets = 5000
#表示系統同時保持TIME_WAIT通訊端的最大數量,如果超過這個數字,
#TIME_WAIT通訊端將立刻被清除並列印警告資訊。默認為180000,改為5000
#對於ApacheNginx等伺服器,上幾行的參數可以很好地減少TIME_WAIT通訊端數量,
#但是對於Squid,效果卻不大。此項參數可以控制TIME_WAIT通訊端的最大數量,避免Squid伺服器被大量的TIME_WAIT通訊端拖死。
相關參數說明:ARP支援一個sysctl介面,可以用以配置全域參數或逐個網路介面地進行配製。該sysctl可以通過/proc/sys /net/ipv4/neigh/*/*檔或者使用sysctl(2)介面來訪問。系統中每個介面都在/proc/sys/net/ipv4 /neigh/.中有自己的目錄。`default’目錄中的設置用於所有新建的設備。sysctl相關的時間是以秒為單位,除非特別聲明過.
anycast_delay
IPv6相鄰請求資訊的回復的最大延遲時間;目前還不支持anycast。值為1秒。
app_solicit
這是在使用多路廣播探測(multicast probe)前,經過網路連接送到使用者間隙ARP埠監控程序的探測(probe)最大數目(mcast_solicit)。值為0
base_reachable_time
一旦發現相鄰記錄,至少在一段介於base_reachable_time/23*base_reachable_time/2之間的隨機時間內,該記錄是有效的。如果收到上層協定的肯定回饋,那麼記錄的有效期將延長。值是30秒。
delay_first_probe_time
發現某個相鄰層記錄無效(stale)後,發出第一個探測要等待的時間。值是5秒。
gc_interval
收集相鄰層記錄的無用記錄的垃圾收集程式的運行週期,為30秒。
gc_stale_time
決定檢查一次相鄰層記錄的有效性的週期。當相鄰層記錄失效時,將在給它發送資料前,再解析一次。值是60秒。
gc_thresh1
存在於ARP快取記憶體中的最少層數,如果少於這個數,垃圾收集器將不會運行。值是128
gc_thresh2
保存在ARP快取記憶體中的最多的記錄軟限制。垃圾收集器在開始收集前,允許記錄數超過這個數位5秒。值是512
gc_thresh3
保存在ARP快取記憶體中的最多記錄的硬限制,一旦快取記憶體中的數目高於此,垃圾收集器將馬上運行。值是1024
locktime
ARP記錄保存在快取記憶體內的最短時間(jiffy數),以防止存在多個可能的映射(potential mapping)時,ARP快取記憶體系統的顛簸(經常是由於網路的錯誤配置而引起)。值是1秒。
mcast_solicit
在把記錄標記為不可抵達的之前,用多路廣播/廣播(multicast/broadcast)方式解析位址的最大次數。
值是3
proxy_delay
當接收到有一個請求已知的代理ARP位址的ARP請求時,在回應前可以延遲的jiffy(時間單位,見BUG)數目。這樣,以防止網路風暴。值是0.8秒。
proxy_qlen
能放入代理ARP位址佇列(proxy-ARP addresses)的資料包最大數目。值是64
retrans_time
重發一個請求前的等待jiffy(時間單位,見BUG)的數目。值是1秒。
ucast_solicit
詢問ARP埠監控程序前,試圖發送單探測(unicast probe)的次數。(app_solicit).值是3秒。
unres_qlen
每個沒有被其它網路層解析的位址,在佇列中可存放包的最大數目。值是3.
$ /proc/sys/net/core/wmem_max
最大socketbuffer,可參考的優化值:873200
$ /proc/sys/net/core/rmem_max
最大socketbuffer,可參考的優化值:873200
$ /proc/sys/net/ipv4/tcp_wmem
TCPbuffer,可參考的優化值: 8192 436600 873200
$ /proc/sys/net/ipv4/tcp_rmem
TCPbuffer,可參考的優化值: 32768 436600 873200
$ /proc/sys/net/ipv4/tcp_mem
同樣有3個值,意思是:
net.ipv4.tcp_mem[0]:低於此值,TCP沒有記憶體壓力.
net.ipv4.tcp_mem[1]:在此值下,進入記憶體壓力階段.
net.ipv4.tcp_mem[2]:高於此值,TCP拒絕分配socket.
上述記憶體單位是頁,而不是位元組.
可參考的優化值是:786432 1048576 1572864
$ /proc/sys/net/core/netdev_max_backlog
進入包的最大設備佇列.預設是300,對重負載伺服器而言,該值太低,可調整到1000.
$ /proc/sys/net/core/somaxconn
listen()的默認參數,掛起請求的最大數量.默認是128.對繁忙的伺服器,增加該值有助於網路性能.
可調整到256.
$ /proc/sys/net/core/optmem_max
socket buffer的最大初始化值,默認10K.
$ /proc/sys/net/ipv4/tcp_max_syn_backlog
進入SYN包的最大請求佇列.默認1024.對重負載伺服器,增加該值顯然有好處.
可調整到2048.
$ /proc/sys/net/ipv4/tcp_retries2
TCP失敗重傳次數,預設值15,意味著重傳15次才徹底放棄.可減少到5,以儘早釋放內核資源.
$ /proc/sys/net/ipv4/tcp_keepalive_time
$ /proc/sys/net/ipv4/tcp_keepalive_intvl
$ /proc/sys/net/ipv4/tcp_keepalive_probes
3個參數與TCP KeepAlive有關.預設值是:
tcp_keepalive_time = 7200 seconds (2 hours)
tcp_keepalive_probes = 9
tcp_keepalive_intvl = 75 seconds
意思是如果某個TCP連接在idle 2個小時後,內核才發起probe.如果probe 9(每次75)不成功,內核才徹底放棄,認為該連接已失效.對伺服器而言,顯然上述值太大. 可調整到:
/proc/sys/net/ipv4/tcp_keepalive_time 1800
/proc/sys/net/ipv4/tcp_keepalive_intvl 30
/proc/sys/net/ipv4/tcp_keepalive_probes 3
$ proc/sys/net/ipv4/ip_local_port_range
指定埠範圍的一個配置,預設是32768 61000,已夠大.
最上面的一些寫入到/etc/sysctl.conf即可下麵的寫入相應的文件

沒有留言:

張貼留言