Linux(CentOS6.x)下使用yum軟件管理工具安裝LNMP(Nginx+PHP+Mysql)環境並配置虛擬主機vhost

       前言:之前本小生也嘗試過源碼安裝,即在官網下載nginx,php,mysql的tar包然後手工一步一步的搭建,但是期間發現,每個軟件在linux環境運行時都需要大量的依賴包,比如nginx需要gcc等,php需要pcre等,都需要逐個的去官網找安裝包安裝,比較麻煩和繁瑣,尤其是在安裝前執行配置環境變量./configure 時,稍不留神或者之前少安裝了某個依賴包,那就是頻繁的報錯和調試了,對於有時間做研究來說是可以提高經驗和熟知原理,但是在工作重心放在開發上,想要快速搭建環境來講,還是推薦大家使用CentOS自帶的yum軟件管理工具來實現,比較方便快捷,下面我們來搭建環境:


1準備工作:

 關閉防火牆 (老百姓專用),執行

chkconfig iptables off

 配置CentOS 6.x 第三方yum源(CentOS默認的標準源裏沒有nginx軟件包),第三方軟件源很多,我選用的是atomic軟件源,當然還有其他輸入Adobe等很多軟件源可選。

 首先安裝atomic軟件源的腳本,找一個下載存放的目錄,我的是 /usr/local/src 執行:

cd /usr/local/src

然後下載atomic腳本,執行:

wget http://www.atomicorp.com/installers/atomic

下載後執行這個腳本,給yum添加atomic源的軟件支持,執行:

sh ./atomic

執行後可以運行一下 yum check-update 來看看是否需要有更新的軟件,執行:

yum check-update


執行過後,我們來安裝Nginx所必要的依賴包和環境,依靠yum的話只要輸入對軟件名稱,yum全搞定,執行:

yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel

如果你不確定你的主機是否之前裝了環境,可以先卸載一下,這裏給出yum卸載方法,如果是源碼安裝的話需要逐個卸載,yum卸載的話執行:

yum remove nginx
yum remove mysql
yum remove php

2 安裝 Nginx

下面安裝Nginx,由於前邊已經做好準備,後邊很簡單的執行:

yum install nginx

一切自動安裝完後,啓動Nginx的服務:

service nginx start

如需系統開機啓動則執行:

chkconfig --levels 235 nginx on

這裏設置了linux下235級別啓動


3 安裝 Mysql

執行:

yum install mysql mysql-server mysql-devel

安裝啓動mysql

service mysqld start

設置開機啓動:

chkconfig --levels 235 mysqld on

由於Mysql默認安裝後的賬號密碼均爲root,你可能需要修改密碼,執行

mysql -h localhost -u root

輸入默認密碼root(有的沒有默認密碼,直接回車)


執行sql語句來修改mysql密碼,也可以修改配置文件,這裏修改密碼的sql語句爲:

update mysql.user set password = PASSWORD('*********') where user='root';

flush privileges;

4安裝PHP

首先安裝PHP需要依賴的環境,依舊是直接yum安裝,執行:

yum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap 

然後安裝php,執行:

yum install  php-tidy php-common php-devel php-fpm php-mysql

安裝成功後啓動,執行:

service php-fpm start

這裏我裝的是php5.4以上的版本,所以啓動fpm。


設置開機啓動

 chkconfig --levels 235 php-fpm on

到此,Nginx,PHP,Mysql已經都安裝完畢並且開始運行了,由於yum軟件管理工具都是選取列入軟件的最穩定版本(注意並不是老舊的版本,軟件源會更新到最新的穩定版)來安裝到你的機器上,也就是說軟件的版本在你安裝的時候不會被選擇,而是yum給你安哪個就是哪個,如果需要最新版則需要手工去更新rpm管理包,但是yum所下載的最穩定版本已經基本夠線上建站,工作,學習使用了,下面我們來配置使Nginx支持PHP


首先備份一下Nginx配置文件,並使用默認的配置文件,依次執行:

mv /etc/nginx/nginx.conf /etc/nginx/nginx.confbak

cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf

之後修改nginx配置文件,添加fastcgi支持(使Nginx可以解析PHP腳本,有時遇到雖然路徑配對了,但是不顯示php頁面卻把頁面給下載了,就是這塊沒起作用),執行:

vim /etc/nginx/nginx.conf

打開後在server作用域括號內找到index  index.html index.htm;這行,在後邊添加上index.php,這樣可以默認找到php文件的首頁,之後找到被註釋了的FastCGI作用域,然後把前邊註釋符號#去掉,類似:

location ~ \.php$ {
    root           /www;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

注:root參數是你網站的根目錄,我設定的是根目錄下的www目錄

之後,最好修改一下php的系統時間,也就是差八小時那個問題,並設置一下cgi.fix_pathinfo = 1 來防止壞蛋用二進制代碼通過php上傳來惡意搞你,可以訪問 :

vi /etc/php.ini

來設置

最後,重啓Nginx和php-fpm來更新我們的配置,執行:

service nginx restart && service php-fpm restart

現在,我們就可以運行php文件了,在你的根目錄下,創建一個index.php文件,裏面輸出phpinfo()函數,然後通過主機ip,我這裏是http://10.3.130.46/index.php,訪問,如果出現正確的輸出,證明環境搭建完畢。


在開發和學習中,我們可能需要很多的虛擬主機來安置不同的網站和開發任務,yum安裝後搭建虛擬主機的方法如下:

訪問:

cd /etc/nginx

在這個文件夾下建立一個vhost文件夾,執行:

mkdir vhost

然後在這個目錄內建立一個你的虛擬站點的配置文件,我這裏起名叫www.test.com.conf,執行:

vim vhost/www.test.com.conf

打開後加入這個虛擬站點的基本配置,根目錄(之前在/www下建好test目錄)和php支持等,如下:

server
        {       
                listen       80;
                server_name www.test.com;
                index index.php index.html;
                root  /www/test;
                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {       
                                expires      30d;
                        }
                location ~ .*\.(js|css)?$
                        {       
                                expires      12h;
                        }
                location /
                {       
                        try_files $uri $uri/ /index.php$is_args$args;
                }
                location ~ \.php$
                {       
                        try_files $uri =404;
                        fastcgi_pass  127.0.0.1:9000;
                        fastcgi_index index.php;
                        include fcgi.conf;
                }
                access_log  /var/log/www.test.com.log;
        }

保存完畢後,我們需要在nginx主配置文件nginx.conf中引入vhost內的配置文件,執行:

vim /etc/nginx/nginx.conf

在http作用域括號內,server作用域括號外,我這裏選擇了放在server結束大括號下邊,添加

include vhost/*.conf;

保存,之後重啓nginx,執行:

service nginx restart

在本機綁定了host之後,瀏覽器訪問www.test.com查看你配置的虛擬主機,如果可以訪問則成功。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章