PHP程序員玩轉(zhuǎn)Linux系列 lnmp環(huán)境搭建
PHP程序員玩轉(zhuǎn)Linux系列文章:
1.PHP程序員玩轉(zhuǎn)Linux系列-怎么安裝使用CentOS
在平常的工作中,我作為PHP程序員經(jīng)常要搭建一下環(huán)境,這個環(huán)境就是Linux系統(tǒng)下安裝nginx,php,mysql這三個軟件,對軟件進(jìn)行配置,然后在瀏覽器上能夠正常打開運(yùn)行查看項(xiàng)目。CentOS中安裝軟件有好幾種方式,我經(jīng)常用的是包安裝方式,因?yàn)檫@種非常簡單一句命令就能安裝成功,這也是與windows下安裝軟件最大的不同點(diǎn)。包安裝方式就一個關(guān)鍵單詞就是yum。
解決找不到nginx包的問題
我先安裝一下web服務(wù)器nginx,按好這個軟件,他就可以監(jiān)聽80端口,綁定域名,提供web服務(wù),就能在瀏覽器訪問我們的項(xiàng)目。我使用命令 yum install nginx ,此時報(bào)錯No package nginx available,這是沒有這個包啊,這個時候需要安裝一下企業(yè)Linux擴(kuò)展包epel,使用命令yum install epel-release,然后從新試一下安nginx,這個時候就可以安裝了,并且解決了依賴問題。使用service nginx start開啟nginx
yum install epel-release yum install nginx service nginx start
解決web服務(wù)無法ip訪問的問題
此時我打開windows的瀏覽器,訪問我上一篇設(shè)置的地址:http://192.168.2.100 ,無法訪問到,遇到這種情況,我先使用ps命令查看一下nginx的進(jìn)程是否開啟,然后使用netstat命令查看一下80端口是否監(jiān)聽
ps aux|grep nginx netstat -altupn|grep 80
這兩個命令查看后發(fā)現(xiàn)都是正常的,那應(yīng)該是防火墻給阻攔了,我使用service iptables stop關(guān)閉掉了防火墻,這時候訪問ip,nginx的測試頁面就出現(xiàn)了,說明確實(shí)是防火墻問題,我要開放防火墻的80端口,iptables的開放端口配置文件是/etc/sysconfig/iptables,我復(fù)制了它自帶的那條22端口的規(guī)則,改成80,保存后,service iptables start,這個時候訪問也是正常的了。
綁定域名
我想通過域名來訪問這個站點(diǎn),比如我訪問http://www.qingguow.cn,可以查看到服務(wù)器上的站點(diǎn)目錄,這個時候就要配置nginx來綁定域名了。進(jìn)入目錄/etc/nginx/conf.d,復(fù)制自帶的配置文件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文件,把域名指向到我的虛擬機(jī)ip
192.168.2.100 www.qingguow.cn
此時我直接訪問域名就能看到剛才的那個index.html的文件了,瀏覽器也會提示你這個域名被重定向了
此時我可以去看下nginx的訪問和錯誤日志,默認(rèn)是/var/log/nginx/access.log,使用tail -f這個命令,可以實(shí)時監(jiān)看這個日志文件
tail -f /var/log/nginx/access.log ,這個可以幫助我知道,此時nginx確實(shí)是運(yùn)行正常的。
安裝并配置PHP
我在剛才的目錄下新建了個index.php的文件,直接訪問這個文件,瀏覽器會彈出下載框,文件被直接下載了,這個時候就要安裝PHP了
yum install php #查看一下版本 php -v
這個版本還是PHP 5.3已經(jīng)非常老了,稍后我會去寫升級PHP。這個時候PHP已經(jīng)安裝成功了,但是還沒有和nginx進(jìn)行搭配起來,還需要安裝php-fpm
yum install php-fpm #開啟php-fpm service php-fpm start
此時php-fpm已經(jīng)開啟了,并且默認(rèn)監(jiān)聽9000端口,配置nginx來支持PHP,編輯www.qingguow.cn.conf,改成如下配置文件。配置文件中應(yīng)該注意這樣幾點(diǎn):
1. root指令提到location指令外面來,解決file not found錯誤
2.fastcgi_pass指令,nginx連接fastcgi
3.fastcgi_param SCRIPT_FILENAME指定這個參數(shù),也是解決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服務(wù)器監(jiān)聽端口與地址 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#指定腳本的路徑 include fastcgi_params;#加載一些參數(shù),這個文件已經(jīng)存在了 } }
新建一個index.php的文件,使用phpinfo()函數(shù)打印看看php的參數(shù)情況,瀏覽器中訪問,是正常的。
安裝mysql數(shù)據(jù)庫
接下來我要再安裝上mysql數(shù)據(jù)庫,這個我就能使用PHP去連接和使用mysql數(shù)據(jù)庫了。我要安裝mysql和mysql-server一個是客戶端,一個服務(wù)端,默認(rèn)安上的mysql數(shù)據(jù)庫,用戶名是root,密碼是空,這可不怎么安全,當(dāng)然現(xiàn)在這個數(shù)據(jù)庫只能我們本地去連,無法遠(yuǎn)程連接,也沒啥問題,稍后再去處理增加用戶和修密碼的問題。
#安裝客戶端 yum install mysql #安裝服務(wù)端 yum install mysql-server #開啟mysql服務(wù) service mysqld start #連接數(shù)據(jù)庫 mysql -hlocalhost -uroot -p
這個時候,lnmp環(huán)境就搭完了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu使用國內(nèi)源出現(xiàn)Hash Sum mismatch錯誤的解決
這篇文章主要介紹了Ubuntu使用國內(nèi)源出現(xiàn)Hash Sum mismatch錯誤的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04詳解Linux文本文件與WIN文本文件換行格式轉(zhuǎn)換命令
這篇文章主要介紹了詳解Linux文本文件與WIN文本文件換行格式轉(zhuǎn)換命令的相關(guān)資料,需要的朋友可以參考下2017-02-02