PHP程序員玩轉Linux系列文章:
1.PHP程序員玩轉Linux系列-怎么安裝使用CentOS
在平常的工作中,我作為PHP程序員經常要搭建一下環境,這個環境就是Linux系統下安裝nginx,php,mysql這三個軟件,對軟件進行配置,然后在瀏覽器上能夠正常打開運行查看項目。CentOS中安裝軟件有好幾種方式,我經常用的是包安裝方式,因為這種非常簡單一句命令就能安裝成功,這也是與windows下安裝軟件最大的不同點。包安裝方式就一個關鍵單詞就是yum。
解決找不到nginx包的問題
我先安裝一下web服務器nginx,按好這個軟件,他就可以監聽80端口,綁定域名,提供web服務,就能在瀏覽器訪問我們的項目。我使用命令 yum install nginx ,此時報錯No package nginx available,這是沒有這個包啊,這個時候需要安裝一下企業Linux擴展包epel,使用命令yum install epel-release,然后從新試一下安nginx,這個時候就可以安裝了,并且解決了依賴問題。使用service nginx start開啟nginx
yum install epel-release yum install nginx service nginx start
解決web服務無法ip訪問的問題
此時我打開windows的瀏覽器,訪問我上一篇設置的地址:http://192.168.2.100 ,無法訪問到,遇到這種情況,我先使用ps命令查看一下nginx的進程是否開啟,然后使用netstat命令查看一下80端口是否監聽
ps aux|grep nginx netstat -altupn|grep 80
這兩個命令查看后發現都是正常的,那應該是防火墻給阻攔了,我使用service iptables stop關閉掉了防火墻,這時候訪問ip,nginx的測試頁面就出現了,說明確實是防火墻問題,我要開放防火墻的80端口,iptables的開放端口配置文件是/etc/sysconfig/iptables,我復制了它自帶的那條22端口的規則,改成80,保存后,service iptables start,這個時候訪問也是正常的了。
綁定域名
我想通過域名來訪問這個站點,比如我訪問http://www.qingguow.cn,可以查看到服務器上的站點目錄,這個時候就要配置nginx來綁定域名了。進入目錄/etc/nginx/conf.d,復制自帶的配置文件virtual.conf,改成了www.qingguow.cn.conf,注意后綴一定要是.conf,編輯這個配置文件,重啟一下nginx。
server { listen 80; server_name www.qingguow.cn; location / { root /usr/local/web; index index.html index.htm; } }
我在/usr/local/web目錄下新建了個index.html的文件,里面隨便寫了一句話,修改一下windows的host文件,把域名指向到我的虛擬機ip
192.168.2.100 www.qingguow.cn
此時我直接訪問域名就能看到剛才的那個index.html的文件了,瀏覽器也會提示你這個域名被重定向了
此時我可以去看下nginx的訪問和錯誤日志,默認是/var/log/nginx/access.log,使用tail -f這個命令,可以實時監看這個日志文件
tail -f /var/log/nginx/access.log ,這個可以幫助我知道,此時nginx確實是運行正常的。
安裝并配置PHP
我在剛才的目錄下新建了個index.php的文件,直接訪問這個文件,瀏覽器會彈出下載框,文件被直接下載了,這個時候就要安裝PHP了
yum install php #查看一下版本 php -v
這個版本還是PHP 5.3已經非常老了,稍后我會去寫升級PHP。這個時候PHP已經安裝成功了,但是還沒有和nginx進行搭配起來,還需要安裝php-fpm
yum install php-fpm #開啟php-fpm service php-fpm start
此時php-fpm已經開啟了,并且默認監聽9000端口,配置nginx來支持PHP,編輯www.qingguow.cn.conf,改成如下配置文件。配置文件中應該注意這樣幾點:
1. root指令提到location指令外面來,解決file not found錯誤
2.fastcgi_pass指令,nginx連接fastcgi
3.fastcgi_param SCRIPT_FILENAME指定這個參數,也是解決file not found錯誤
4. file not found錯誤時,nginx的error.log錯誤日志是FastCGI sent in stderr: "Primary script unknown",搜索這個就能找到解決方法
5. 遇到錯誤時,一定要看錯誤日志,然后再去對癥搜索。
server { listen 80; server_name www.qingguow.cn; root /usr/local/web; location / { index index.html index.htm index.php; } location ~ \.php { fastcgi_pass 127.0.0.1:9000;#指定FastCGI服務器監聽端口與地址 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#指定腳本的路徑 include fastcgi_params;#加載一些參數,這個文件已經存在了 } }
新建一個index.php的文件,使用phpinfo()函數打印看看php的參數情況,瀏覽器中訪問,是正常的。
安裝mysql數據庫
接下來我要再安裝上mysql數據庫,這個我就能使用PHP去連接和使用mysql數據庫了。我要安裝mysql和mysql-server一個是客戶端,一個服務端,默認安上的mysql數據庫,用戶名是root,密碼是空,這可不怎么安全,當然現在這個數據庫只能我們本地去連,無法遠程連接,也沒啥問題,稍后再去處理增加用戶和修密碼的問題。
#安裝客戶端 yum install mysql #安裝服務端 yum install mysql-server #開啟mysql服務 service mysqld start #連接數據庫 mysql -hlocalhost -uroot -p
這個時候,lnmp環境就搭完了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/taoshihan/p/6416320.html