上次中,記錄了lamp的環境的搭建和安裝,這一次說一下lnmp環境的安裝和搭建,下面是詳細的安裝步驟:
一. 先是MySQL的安裝步驟,其實和上次的一樣:
1): 編譯安裝MySQL+-------------------------------------------------------------------------------+| 操作 | 作用 | +-------------------------------------------------------------------------------+|shell> cd /usr/local/src | 進入軟件包所在目錄(不要照抄) ||-------------------------------------------------------------------------------||shell> groupadd mysql | 增加mysql組(如果有就不用加了) ||-------------------------------------------------------------------------------||shell> useradd mysql -g mysql | 增加mysql用戶,并屬于mysql組 ||-------------------------------------------------------------------------------||shell> tar -xzvf mysql-5.1.30.tar.gz | 解壓mysql源碼包 ||-------------------------------------------------------------------------------||shell> cd mysql-5.1.30 | 進入源碼包 ||-------------------------------------------------------------------------------||shell> ./configure --PRefix=/usr/local/mysql / | 配置mysql編譯選項, || --with-charset=utf8 / | 指定安裝路徑及支持的字符集 || --with-extra-charsets=gbk,gb2312,binary /| ||-------------------------------------------------------------------------------||shell> make | 編譯 ||-------------------------------------------------------------------------------||shell> make install | 安裝 |+-------------------------------------------------------------------------------+2):配置并初始化MySQL+---------------------------------------------------------------------------------------+| 操作 | 作用 | +---------------------------------------------------------------------------------------+|shell> cp support-files/my-medium.cnf /etc/my.cnf | 把MySQL配置文件復制到/etc下 ||---------------------------------------------------------------------------------------||shell> vi /etc/my.cnf 在'sk數據庫工作 ||---------------------------------------------------------------------------------------||shell> bin/mysql_install_db --user=mysql / | 初始化數據數據庫 || --datadir=/usr/local/mysql/var | ||---------------------------------------------------------------------------------------||shell> chown -R root . | 把var目錄修改為mysql用戶所有 ||shell> chown -R mysql var | 其他文件修改為root所有,保證安全||---------------------------------------------------------------------------------------||shell> bin/mysqld_safe --user=mysql & | 啟動mysql |+---------------------------------------------------------------------------------------+3):測試數據庫+-------------------------------------------------+-------------------------------------+| 操作 | 作用 | +-------------------------------------------------+-------------------------------------+|shell> bin/mysql -uroot | 以root用戶連mysql,無密碼 ||---------------------------------------------------------------------------------------||mysql> show databases; | 顯示數據庫 ||---------------------------------------------------------------------------------------|| +--------------------+ | | | | Database | | || +--------------------+ | 看到左面的信息,數據庫就安裝 || | information_schema | | 并啟動成功了! || | mysql | | || | test | | || +--------------------+ | |+---------------------------------------------------------------------------------------+4):接上步,修改mysql密碼(可不做此步,默認無密碼)+-------------------------------------------------------------------------------+| 操作 | 作用 | +-------------------------------------------------------------------------------+|mysql>UPDATE user SET | || passWord=PASSWORD('new_password') | 修改root用戶的密碼 || WHERE user='root'; | ||-------------------------------------------------------------------------------+|mysql>flush privileges; | 清空權限緩存 |+-------------------------------------------------------------------------------+
二.開始安裝php
1 apache一般是把php當做自己的一個模塊來啟動的.2 而nginx則是把http請求變量(如get,user_agent等)轉發給 php進程,即php獨立進程,與nginx進行通信. 稱為 fastcgi運行方式.3 因此,為apache所編譯的php,是不能用于nginx的.
注意:需要將php-fpm的模塊打進入到php的源碼包中,具體的步驟如下:
編譯安裝PHP和PHP-FPM很簡單,下面是安裝過程:(最好安裝php5.3)[root@localhost local]#tar zxvf php-5.2.13.tar.gz [root@localhost local]#gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1 [root@localhost local]#cd php-5.2.13 [root@localhost php-5.2.13]#./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm [root@localhost php-5.2.13]#make [root@localhost php-5.2.13]#make install [root@localhost php-5.2.13]cp php.ini-dist /usr/local/php/lib/php.ini 管理FastCGI進程在配置完php-fpm后,就可以啟動FastCGI進程了。啟動fastcgi進程有兩種方式:/usr/local/php/bin/php-cgi --fpm 或者 /usr/local/php/sbin/php-fpm start 在“./configure”編譯選項中,指定將PHP安裝到/usr/local下,“--enable-fastcgi”是啟用對PHP的FastCGI支持,“--enable-fpm”是激活對FastCGI模式的fpm支持。注意:在此處并沒有將Mysql編譯進來,但是沒有關系,這個后續也是可以導入進來的
三.安裝nginx
nginx 的安裝下載地址: http://nginx.org/download/nginx-1.4.2.tar.gz安裝準備: nginx依賴于pcre庫,要先安裝pcreyum install pcre pcre-develcd /usr/local/src/wget http://nginx.org/download/nginx-1.4.2.tar.gztar zxvf nginx-1.4.2.tar.gzcd nginx-1.4.2./configure --prefix=/usr/local/nginxmake && make install啟動:cd /ulsr/local/nginx, 看到如下4個目錄./....conf 配置文件 ... html 網頁文件...logs 日志文件...sbin 主要二進制程序[root@localhost nginx]# ./sbin/nginxnginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)....nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] still could not bind()不能綁定80端口,80端口已經被占用(有時是自己裝了apache,nginx等,還有更多情況是操作系統自帶了apache并作為服務啟動)解決: 把占用80端口的軟件或服務關閉即可.
總結一下nginx處理轉發php的請求原理:
1 nginx+php的配置比較簡單,核心就一句話---- 2 把請求的信息轉發給9000端口的PHP進程, 3 讓PHP進程處理 指定目錄下的PHP文件. 4 5 如下例子: 6 location ~ /.php$ { 7 root html; 8 fastcgi_pass 127.0.0.1:9000; 9 fastcgi_index index.php;10 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;11 include fastcgi_params;12 13 }14 15 1:碰到php文件,16 2: 把根目錄定位到 html,17 3: 把請求上下文轉交給9000端口PHP進程,18 4: 并告訴PHP進程,當前的腳本是 $document_root$fastcgi_scriptname19 (注:PHP會去找這個腳本并處理,所以腳本的位置要指對)新聞熱點
疑難解答