Tag Archives: linux

2014/07/02

解決 ip_conntrack: table full 的方法

這幾天我們的DNS server出現一整串下面這個訊息:

ip_conntrack: table full, dropping packet.

後來google才知道, Linux NAT 的 ip_conntrack 模組會記錄 tcp 通訊協定的 established connection 記錄, 而且預設 timeout 時間長達五天 (432000 秒), 因此只要 LAN 中有人使用 P2P 軟體 (如: eDonkey、BT…) 就容易發生這種問題.

首先確定你的linux有沒有載入模組

[[email protected] ~]# lsmod |grep ip_conn
ip_conntrack           53409  0 
nfnetlink              10713  1 ip_conntrack

(繼續閱讀…)

2014/05/14

nginx 網頁顯示亂碼問題

不知道為什麼原本在apache顯示UTF8中文是正常的
可是將網站搬到nginx卻顯示亂碼
解決方式:打開nginx.conf 找到server的部分 加入兩行

        default_type 'text/html';
        charset utf-8;

再將nginx重啟或reload即可

# /etc/rc.d/init.d/nginx reload
2014/03/19

Apache 記憶體吃光調教

最近常發現Apache把我的VPS記憶體吃光後,被kernel幹掉在重啟的狀況
以下系統是centos 32bit 512MB

Out of memory: Kill process 9502 (httpd) score 33 or sacrifice child
Killed process 9502 (httpd) total-vm:70580kB, anon-rss:32324kB, file-rss:0kB

仔細觀察幾天,發現我即使設定cron job讓apache每天重新啟動也沒辦法改善這個狀況
因為apache啟動沒多久,記憶體就會吃滿….這到底是WTF
(繼續閱讀…)

2013/06/03

Tomcat log available pattens

%a – Remote IP address
%A – Local IP address
%b – Bytes sent, excluding HTTP headers, or ‘-‘ if zero
%B – Bytes sent, excluding HTTP headers
%h – Remote host name (or IP address if resolveHosts is false)
%H – Request protocol
%l – Remote logical username from identd (always returns ‘-‘)
%m – Request method (GET, POST, etc.)
%p – Local port on which this request was received
%q – Query string (prepended with a ‘?’ if it exists)
%r – First line of the request (method and request URI)
%s – HTTP status code of the response
%S – User session ID
%t – Date and time, in Common Log Format
%u – Remote user that was authenticated (if any), else ‘-‘
%U – Requested URL path
%v – Local server name
%D – Time taken to process the request, in millis
%T – Time taken to process the request, in seconds
%I – current request thread name (can compare later with stacktraces)

2013/02/08

樹莓派(Raspberry pi)安裝

昨天剛拿到樹莓派,這小電腦真的很神,這麼小一台竟然可以撥1080p影片
有多小? 請看照片,上面是一般菸盒,他就跟菸盒一樣大而已
IMG_1035
我的目標就是把他放在電視旁邊當播放器與上網機
不過他的CPU效能真的不強
我在 i5-3470 3.20GHz上VM跑圓周率只需要7秒
在樹莓派上面卻要跑上1分12秒
(繼續閱讀…)

2013/02/01

讓Linux使用者登入在chroot底下

之前只會把application關在chroot底下
但是卻不知道怎麼把使用者關住
實際了解之後才發現要把使用者關住
並不是跟application一樣設定就可以了
雖然是類似但是卻多了很多東西要設定
還是記錄一下比較安全,不然我應該很快就忘了…
(繼續閱讀…)

2013/01/18

Zend Framework基本架構與安裝

概述
Zend Framework (ZF) 是用 PHP 5 來開發web程式和服務的opensource框架,使用三層架構模式(Model-View-Controller,MVC) 架構,授權模式採用BSD許可證。ZF中的元件非常獨立,每個元件幾乎不依賴於其他元件。這樣的松耦合(use-at-will)結構可以讓開發者獨立使用元件。MVC的架構也非常適合團體開發,開發的元件並不會互相影響。ZF提供大量的module給你使用,它還提供連接Google, Yahoo, Flickr, Amazon…等Web Services的module。
(繼續閱讀…)

2013/01/12

linux不能compile? 不能make?

蠻常遇到的,紀錄一下

不能compile?

# yum -y install gcc gcc-c++ libgcrypt* install crypt*

不能make?

# yum -y install gcc automake autoconf libtool make
2013/01/10

iptales執行”–set mark”時出現error

這是之前在裝Openvpn遇到的問題,lsmod所有openvpn需要的東西都齊全
當初不知道是哪一個指令出問題,所以試了很久
試到最後發現只要iptables執行MARK這個指令,他就會出現error

# iptables -t mangle -A POSTROUTING -o eth0 -d 192.168.5.2 -j MARK --set-mark 22
iptables: Unknown error 18446744073709551615

但是發現歸發現卻不知道該怎麼解決…
所以只好先把iptables版本換掉試試看,結果換版本就OK了…..(三小!)
不過經過google之後發現所有for Centos5的rpm都是iptables 1.3.5版,用yum自動安裝也是1.3.5,update也沒用
所以如果要裝新版就要自己編譯安裝

iptables安裝:
到ftp://ftp.netfilter.org/pub/iptables/ 下載新一點的版本,我是裝1.4.6

# ./configure
# make
# make install

確定裝好之後,我們就要把系統中的就版替換掉
先把iptables停掉

# /etc/rc.d/init.d/iptables stop

用/usr/local/sbin/中的iptables(新版本) 替換/sbin/iptables(老版本)
基本上可以用自己的方法做,就把安裝好的資料夾整個copy過去就好了
不過我是copy這三個檔案而已

# cp /usr/local/sbin/iptables /sbin/
# cp /usr/local/sbin/iptables-restore /sbin/
# cp /usr/local/sbin/iptables-save /sbin/

copy完之後check一下版本

# iptables -V
iptables v1.4.6
2013/01/05

linux安裝套件出現缺少libcrypto-so-6

這個幾乎我裝甚麼都會出現,不知道為什麼linux不直接內建= =
libcrypto.so.6可以安裝openssl後取得,如系統中沒有openssl,就

# yum -y install openssl

安裝即可
如果系統告訴你已經有openssl了,但是還是缺少libcrypto.so.6,那就是系統的openssl太新了
直接到網路上下載0.98版的openssl rpm強制安裝到系統就可以了,正常安裝的話系統會告訴你系統版本比你要裝的新,所以不幫你裝
強制安裝指令:

# rpm -ivh xxxxxxxxxx.rpm --nodeps --force


這樣缺少lib的問題應該就可以解決了。