1. Tomcat啟動緩慢,長達(dá)282652+ms或者更長(Creation of SecureRandom instance for session ID generation )
原因: /dev/random會根據(jù)噪音產(chǎn)生隨機(jī)數(shù)邦蜜,如果噪音不夠它就會阻塞,Linux是通過I/O依鸥,鍵盤終端、內(nèi)存使用量悼沈、CPU利用率等方式來收集噪音的贱迟,如果噪音不夠生成隨機(jī)數(shù)的時候就會被阻塞。
解決方法一:Tocmat的Session ID是通過SHA1算法計算得到的絮供,計算Session ID的時候必須有一個密鑰衣吠。為了提高安全性Tomcat在啟動的時候回通過隨機(jī)生成一個密鑰。
在 http://wiki.apache.org/tomcat/HowTo/FasterStartUp(Entropy Source部分)有一段解釋壤靶。stackoverflow上面也有一大批這方面的說明蒸播,所以這里就不再多做介紹。明白了問題的原因解決起來就非常簡單了——替換/dev/random為/dev/unrandom萍肆,用偽隨機(jī)函數(shù)生成器(/dev/urandom)來替代隨機(jī)函數(shù)生成器(/dev/random)粪牲。
1.vim /usr/local/services/jdk1.8.0_91/jre/lib/security/java.security
2.用/dev/urandom替換/dev/random
3.securerandom.source=file:/dev/urandom
解決方法二:增大/dev/random的熵池靴寂。問題的原因是由于熵池不夠大,所以增大它是最徹底的方法憋他。
通過cat/proc/sys/kernel/random/entropy_avail我們可以查看現(xiàn)在的熵池大兴拚浮亲铡;
● yum install rngd-tools 安裝rngd服務(wù)(熵服務(wù))
● systemctl start rngd 啟動服務(wù)
● systemctl daemon-reload 重新載入服務(wù)
● systemctl restart rngd 重啟服務(wù)
經(jīng)過上面的修改,我們再觀察/proc/sys/kernel/random/entropy_avail基本上在3000左右。我們可以測試一下隨機(jī)數(shù)的生成速度:
- watch -n 1 cat /proc/sys/kernel/random/entropy_avail觀察這個值
- 新打開一個shell奖蔓,用dd命令測試隨機(jī)數(shù)赞草。
dd if=/dev/random of=random.dat count=40960
[root@localhost bin]# dd if=/dev/random of=random.dat count=40960
記錄了0+40960 的讀入
記錄了6004+1 的寫出
3074362字節(jié)(3.1 MB)已復(fù)制,5.01017 秒吆鹤,614 kB/秒
5秒產(chǎn)生了40960個隨機(jī)數(shù)厨疙,/proc/sys/kernel/random/entropy_avail會有劇烈的變化,所有隨機(jī)數(shù)產(chǎn)生之后它又會保持在3000左右疑务。
對于以上問題個人建議使用解決方法二沾凄,(參考文章
)
2. Mysql安裝:
-
錯誤:FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:Data::Dumper
原因:初始化mysql數(shù)據(jù)庫提示缺少Data:dumper模塊解決方法
解決方法 :安裝autoconf庫
命令:yum -y install autoconf //安裝時會安裝Data:Dumper模塊
安裝完成:
yum install -y libaio //安裝后在初始化就OK了 然后在重新執(zhí)行否在會出現(xiàn)如下錯誤:
-
錯誤: 登錄到mysql數(shù)據(jù)庫(首次登陸若未設(shè)置密碼是無需輸入的)
原因:因為系統(tǒng)默認(rèn)會查找/usr/bin下的命令,由于mysql沒有在這個目錄下知允,所以出現(xiàn)not found撒蟀。因此需要做一個軟連接到/usr/bin目錄下。
解決方法:
執(zhí)行命令: ln -s /usr/local/mysql/bin/mysql /usr/bin
注意:其中/usr/local/mysql 為:mysql的安裝路徑
-
錯誤:執(zhí)行update語句時出現(xiàn)ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
原因:有多個ROOT用戶紀(jì)錄在USER表中了
解決方案:
需要 select host from user where user = 'root';
查看一下host是否已經(jīng)有了%這個值温鸽,有了就可以了
很顯然host已經(jīng)有了%這個值保屯,所以直接運(yùn)行命令:
MySQL> flush privileges;