然後找到一篇網上的部落格來進行參考,經過以前多次的bind原始碼安裝實踐證明,網上的各種教程在我這邊還是會出很多問題的,所以自己記錄一下在ubuntu14.0的環境下用原始碼的方式安裝bind的歷程,遇到的問題以及改進方法,為了以後再次安裝的時候能夠提高效率,不至於每次都出一堆問題。參考的部落格位址為:bind安裝簡易教程
一下一些**可能不能直接複製缺少空格或者字元的格式不太正確,建議自己手輸,也可以增強一下熟練性。
cdopenssl-1.0.2l
sudo ./config --prefix=/usr/local
sudo make depend
sudo make
sudo make install
解壓:tar -zxvf bind
進入bind目錄
sudo ./configure --prefix=/usr/local/bind --sysconfdir=/etc/bind
/usr/local/bind是安裝路徑 、etc/bind是配置檔案的路徑也就是name。conf的位置。
sudo make
sudo make install
(1)/usr/local/bind/sbin/rndc-confgen > /etc/bind/rndc.conf
這個地方可能有問題,如果完成不了的話可以直接找乙個rndc。conf的檔案複製過來就可以用。
cd /etc/bind
(2)tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf
vimnamed.conf
加入:options ;
directory "/etc/bind";
pid-file "named.pid";#這個pid是在stop的時候會用到
allow-query ;#可以使用允許遞迴的命令來允許伺服器進行遞迴查詢
#dump-file"/usr/local/named/data/cache_dump.db";
# statistics-file"/usr/local/named/data/named_stats.txt";
#forward only;
forwarders ; //設定**的公網dns伺服器位址
#forwarders ;
#forwarders ;
//設定內網dns伺服器**
#atcp-clients 10000;
#listen-on ;
zone"." in {
type hint;
file "named.root";
zone"localhost" in {
type master;
file "localhost.zone";
zone"0.0.127.in-addr.arpa" in {
type master;
file "localhost.rev";
在當前目錄下增加幾個檔案:
(3)vimlocalhost.zone
$ttl 86400
@ in soa @ root (
42 ; serial (d. adams)
3h ; refresh
15m ; retry
1w ; expiry
1d ) ; minimum
in ns @
in a 127.0.0.1
in aaaa ::1
(4)vimlocalhost.rev
$ttl 86400
@ in soa localhost.root.localhost. (
1997022700 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ) ; minimum
in ns localhost.
1 in ptr localhost.
wget
到此配置完成
/usr/local/bind/sbin/named -gc /etc/bind/named.conf
啟動bind:
/usr/local/bind/sbin/named-c /etc/bind/named.con
此處啟動了除錯,有問題會列印出出錯資訊。當除錯正常後啟動需要去掉g這個引數。
vim/etc/init.d/named
在末尾增加以下內容
#!/bin/bash
#named a network name service.
#chkconfig: 545 35 75
#description: a name server
if [ `id-u` -ne 0 ]
then
echo"error:for bind to port 53,must run as root."
exit 1
ficase"$1" in
start)
if [ -x/usr/local/bind/sbin/named ]; then
#這裡是執行檔案的位置
/usr/local/bind/sbin/named-u root -c /etc/bind/named.conf && echo 'start named [ok]'
#這裡是啟動命令,前便是執行檔案的位置,後邊是配置檔案的位置
fistop)
kill `cat/usr/local/bind/named.pid` && echo 'stop named [ok]'
#通過kill掉進行來來停止伺服器pid的位置是前邊在options中設定的位置
restart)
echo"restart named"
$0 stop
$0 start
echo"$0 start | stop | restart"
esac
vim/etc/resolv.conf
nameserver 172.15.0.140
(2).重啟named服務:servicenamed restart
***會發現該服務無法啟動,原因是因為沒有執行許可權。
解決方法是:給予named這個檔案執行的許可權:
cd/etc/init.d/
chmod 755 named 配置好許可權之後再重啟named服務就ok了......
(3)後期的使用過程中要養成利用檢視日誌的方法來排除問題的習慣,這樣便於你快速方便的找到問題所在:
tail -f /var/log/message
bind原始碼重寫
前言 在了解怎麼實現bind之前我們先來了解一下bind的功能,正所謂知己知彼百戰不殆。原生bind的功能 bind的功能主要用來強制繫結函式的this,然後返回乙個新的函式 function show args var obj var newshow0 show.bind var newshow1...
手寫bind原始碼
三個方法的相同點 目標函式被呼叫時,改變this的指向的值 三個方法都是函式的方法,掛在在function.prototype上 不同點 目標函式呼叫bind後,不會立即執行,而是返回乙個新的函式,呼叫新函式才會執行目標函式 自定義乙個類似於bind函式的函式,將其掛載到函式function上面,然...
Ubuntu 原始碼安裝swoole
2.解壓 unzip swoole swoole v2.2.0.zip 3.cd swoole 發現沒有 configure 用來編譯安裝配置軟體的 可以用phpize 生成 4.在swool目錄下 直接使用phpize就可以生產 這裡有乙個坑,必須要首先安裝 agt get install 這個命...