一、安裝nginx並測試正常訪問網站php
二、安裝mysqlhtml
1)確認rpm mysql刪除 # rpm -qa | grep mysql 2)解壓縮Mysql並配置安裝參數 # ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312 3)編譯並安裝 # make && make install 4)生成mysql配置文件及啓動服務 # cp support-files/my-medium.cnf /etc/my.cnf # cp support-files/mysql.server /etc/init.d/mysqld # chmod a+x /etc/init.d/mysqld # chkconfig --add mysqld # chkconfig --list mysqld 5)初始化mysql數據庫 # useradd -M -s /sbin/nologin mysql # /usr/local/mysql/bin/mysql_install_db --user=mysql # chown -R root:mysql /usr/local/mysql/ # chown -R mysql /usr/local/mysql/var/ 6)創建mysql相應軟連接 # ln -s /usr/local/mysql/bin/* /usr/local/bin/ # ln -s /usr/local/mysql/lib/mysql/* /usr/lib # ln -s /usr/local/mysql/include/mysql/* /usr/include/ 7)啓動mysqld服務,並驗證 # /etc/init.d/mysqld start Starting MySQL. [肯定] # netstat -antp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 21727/mysqld 8)爲mysql用戶添加密碼 # mysqladmin -u root -p password "www.1.com"
三、安裝phpmysql
1)確認rpm php軟件卸載 # rpm -qa | grep php 2)解壓縮並配置安裝參數 # ./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm 錯誤1: configure: error: xml2-config not found. Please check your libxml2 installation. 解決辦法: yum install libxlm2-devel 錯誤2: configure: error: libpng.(a|so) not found. 解決辦法: yum install -y libpng-devel 3)編譯並安裝 #make && make install 4)生成php.ini配置文件並建立相應的軟連接 # cp php.ini-development /usr/local/php/php.ini # ln -s /usr/local/php/bin/* /usr/local/bin/ # ln -s /usr/local/php/sbin/* /usr/local/sbin/ 5)配置php使其支持ZendGuardLoader # cp ZendGuardLoader.so /usr/local/php/lib/php/ # vim /usr/local/php/php.ini zend_extension=/usr/local/php/lib/php/ZendGuardLoader.so zend_loader.enable=1
nginx支持php有兩種方式:其一,充當中介,將訪問php頁面的請求轉交到其餘的LAMP服務器進行解析;其二,經過使用php的fpm模塊調用本機的php環境nginx
這裏採用第二種方式sql
1)生成php-fpm.conf配置文件,並啓用php-fpm進程數據庫
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf # vim /usr/local/php/etc/php-fpm.conf pid = run/php-fpm.pid //確認pid文件位置 user = nginx group = nginx pm.start_servers = 20 //啓動時開啓的進程數 pm.min_spare_servers = 5 //最少空閒進程數 pm.max_spare_servers = 35 //最多空閒進程數 # /usr/local/sbin/php-fpm # netstat -antp | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 25063/php-fpm
2)修改nginx服務啓動腳本,使php-fpm隨nginx自動啓動關閉;在原有腳本基礎上添加藍色字體內容vim
# vim /etc/init.d/nginx服務器
PROG_FPM="/usr/local/sbin/php-fpm" PIDF_FPM="/usr/local/php/var/run/php-fpm.pid" start) $PROG $PROG_FPM ;; stop) kill -s QUIT $(cat $PIDF) kill -s QUIT $(cat $PIDF_FPM) ;;
3)驗證nginx和php-fpm共同啓動tcp
# /etc/init.d/nginx start # netstat -atnp | grep :9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 25152/php-fpm # netstat -atnp | grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 25149/nginx
4)修改nginx配置文件,使其支持phpide
# vim /usr/local/nginx/conf/nginx.conf location ~ \.php$ { root /usr/local/nginx/html/; //指定php頁面根目錄 fastcgi_pass 127.0.0.1:9000; //指定php-fpm的端口 fastcgi_index index.php; //指定Php首頁名稱 include fastcgi.conf; }
5)在/usr/local/nginx/html下建立test.php文件測試LNMP是否正常工做
# vim /usr/local/nginx/html/test.php <?php $link=mysql_connect('localhost','root','www.1.com'); if($link) echo "鏈接成功"; mysql_close(); ?>
6)重啓nginx服務,並測試
www.bj.com/test.php