CentOS 6搭建LAMP和phpRedisAdmin遇到的問題及解決方法分享


最近在項目中用到Reids,為了簡化測試人員的工作,所以准備搭建phpRedisAdmin,環境是64的CentOS6.0。雖然我對linux了解的很少,但是本想搭建個LAMP環境跟裝個php網站應該so easy。但結果卻是花了我好幾天的時間,這中間的折騰就不說,好歹結果還是搞定了。跟大家分享一下中間遇到的一寫問題以及解決方法:剛開始是用源碼安裝的,遇到了一大堆問題最后還是沒搞定。最后LAMP是用yum安裝的,同樣遇到了一大堆問題。下面都是我邊弄邊寫所以寫的有點亂,也懶得整理了,直接貼出來了。

1.yum安裝apache

在centos6.0 上安裝apache因為種種原因先是通過yum安裝然后又通過源碼安裝,后來又因為種種原因又要卸載apache。這時候出問題了。源碼安裝的我是直接刪除安裝目錄 /usr/local/apache2。然后通過yum remove httpd來刪除yum安裝的。提示刪除成功,但是我再用yum install httpd想驗證下我有沒有真的刪除掉的時候,系統又總是提示我已經安裝過apache。因為yum安裝不足就是我不知道到底安裝量哪些文件,安裝的文件在哪個目錄,所以一個個刪除文件不顯示。
最后網上查到可以用rpm -qa|grep httpd查看安裝了哪些apache依賴的rpm包輸入如下:

httpd-tools-2.2.15-15.el6.centos.1.x86_64
httpd-2.2.15-15.el6.centos.1.x86_64

然后用rpm -e來刪除這些依賴項,但這時候又出現問題了,系統出錯提示如下:
error reading information on service httpd: No such file or directory
error: %preun(httpd-2.2.15-15.el6.centos.1.x86_64) scriptlet failed, exit status 1
最后沒辦法又的求助於谷哥哥,度娘娘,終於又查得一個rpm的一個參數 --noscripts:
最后終於通過rpm -e --noscripts刪除掉了上面的兩個包。
再次yum install httpd驗證,ok,搞定了。
哎,對linux了解甚少,剛開始圖容易,通過yum安裝,以后還是手動源碼自己編譯安裝,雖然復雜了點,但是定制性強。

2.yum安裝mysql

首先來進行 MySQL 的安裝。打開超級終端,輸入:

[root@localhost ~]# yum install mysql mysql-server
安裝完畢,讓 MySQL 能夠隨系統自動啟動:
[root@localhost ~]# chkconfig --levels 235 mysqld on
[root@localhost ~]# /etc/init.d/mysqld start
設置 MySQL 數據 root 賬戶的密碼:
[root@localhost ~]# mysql_secure_installation

但是這時候卻出現了Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)的錯誤
最后發現原來我的/tmp下有mysql.sock但是啟動查找的目錄是/var/lib/mysql,這個目錄下並沒有mysql.sock,於是做了一個鏈接ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock解決了問題。但是還是疑惑為什么yum安裝mysql啟動時候到/var/lib/mysql下查找mysql.sock但是配置文件my.cnf里配的路徑卻是/tmp/mysql.sock

3.yum安裝apache

[root@localhost ~]# yum install httpd
同樣配置系統讓 Apache 隨系統啟動:
[root@localhost ~]# chkconfig --levels 235 httpd on
配置完畢,啟動 Apache:
[root@localhost ~]# /etc/init.d/httpd start
這時候又遇到問題了:
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.33.225 for ServerName
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
重啟系統,如果重啟不行的話
可以用netstat -lnp|grep 80看哪些進程占用了80端口
可以利用ps pid的方法查看具體某個進程。
然后用他kill -9 pid將占用80端口的進程殺掉

4.源碼安裝phpredis

因為要安裝phpRedisAdmin所以要裝php的Redis擴展phpredis,但是通過yum安裝phphou就是找不到phpize,phpzie是用來安裝php擴展的,找不到它自然無法安裝phpRedis.最后發現原來phpize是屬於php-devel的。yum install php-devel后發現phpize出現在/usr/bin目錄下了。

在裝好phpize后,開始裝phpredis:

下載好phpredis的tar包解壓,開始安裝:

[root@junlings /]# cd /usr/local/src
[root@junlings src]# cd phpredis/
[root@junlings phpredis]# cd owlient-phpredis-90ecd17/
[root@junlings owlient-phpredis-90ecd17]# /usr/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
[root@junlings owlient-phpredis-90ecd17]# ./configure -with-php-config=/etc

這時候又出現問題了,說:configure: error: Cannot find php-config. Please use --with-php-config=PATH
但是我從phpinfo()打出來的信息可以看到php的配置文件就在/etc目錄下。但是cd到/etc目錄下卻沒有發現php.ini這個文件。通過find也沒找到系統中有php.ini這個文件。

於是嘗試直接./configure然后直接make & make install然后提示redis.so被安裝到了/usr/lib64/php/modules/。但是這樣刷新重啟apache后再phpinfo頁面還是沒看到支持redis的信息。/etc下不是沒有php.ini,於是手動建了一個添上一行 extension="redis.so",在重啟apache,刷新頁面,OK終於看到了redis……寫一個redis的測試頁面:

<?php
$redis=new Redis();
$redis->connect('192.168.32.13',6379);
$redis->set('test','Hello Redis Word!');
echo $redis->get('test');
?>

瀏覽看到“Hello Redis Word!”說明redis擴展安裝成功。

之后就是安裝phpRedisAdmin,那就很簡單了。回頭一想,雖然很不順利,但是經過這么一折騰linux的基本命令都弄的差不對了,感謝不順啊~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM