Cent OS 中LNMP 環境源碼搭建

    LNMP代表的就是:Linux系統下Nginx+MySQL+PHP這種網站服務器架構。

    Nginx是一個小巧而高效的Linux下的Web服務器軟件,是由 Igor Sysoev 爲俄羅斯訪問量第二的Rambler 站點開發的,已經在一些俄羅斯的大型網站上運行多年,相當的穩定。Nginx性能穩定、功能豐富、運維簡單、處理靜態文件速度快且消耗系統資源極少。


本案環境與說明:

環境

[root@bright ~]# cat /etc/centos-release && uname -r
CentOS release 6.6 (Final)
2.6.32-504.el6.x86_64

軟件版本:

mysql-5.7.6-m16-linux-glibc2.5-x86_64.tar.gz
nginx-1.7.8.tar.gz
libmcrypt-2.5.6.tar.gz  
php-5.6.6.tar.gz

文中所用軟件下載地址:

http://mirrors.sohu.com/

http://mirrors.cnnic.cn/apache/

ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt


Nginx 安裝前的準備

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.6-m16-linux-glibc2.5-x86_64.tar.gz

wget http://mirrors.sohu.com/php/php-5.6.6.tar.gz

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.6.tar.gz

wget http://mirrors.sohu.com/nginx/nginx-1.7.8.tar.gz


安裝MySQL

[root@bright ~]# useradd -s /sbin/nologin mysql
[root@bright ~]# tar zxvf mysql-5.7.6-m16-linux-glibc2.5-x86_64.tar.gz 
[root@bright ~]# cd /usr/local/
[root@bright local]# mv /root/mysql-5.7.6-m16-linux-glibc2.5-x86_64 .
[root@bright local]# ln -s mysql-5.7.6-m16-linux-glibc2.5-x86_64 mysql
[root@bright local]# cd mysql
[root@bright mysql]# mkdir /data/mysql
[root@bright mysql]# chown -R root .
[root@bright mysql]# chown -R mysql /data/mysql
[root@bright mysql]# chgrp -R mysql .
[root@bright mysql]# bin/mysql_install_db --user=mysql --datadir=/data/mysql
[root@bright mysql]# cp support-files/my-default.cnf /etc/my.cnf 
cp:是否覆蓋"/etc/my.cnf"? y
[root@bright mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@bright mysql]# chmod 755 /etc/init.d/mysqld 
[root@bright mysql]# vim /etc/init.d/mysqld 
basedir=/usr/local/mysql
datadir=/data/mysql
[root@bright mysql]# chkconfig --add mysqld
[root@bright mysql]# chkconfig mysqld on 
[root@bright mysql]# service mysqld start
Starting MySQL. SUCCESS!

安裝PHP

1.環境配置

rpm -q libxml2-devel libjpeg-turbo libpng-devel freetype-devel gd-devel libmcrypt-devel openssl-devel
libxml2-devel-2.7.6-14.el6_5.2.x86_64
libjpeg-turbo-1.2.1-3.el6_5.x86_64
libpng-devel-1.2.49-1.el6_2.x86_64
freetype-devel-2.3.11-14.el6_3.1.x86_64
package gd-devel is not installed
package libmcrypt-devel is not installed
openssl-devel-1.0.1e-30.el6.x86_64
[root@bright ~]# yum install gd-devel

 本案爲配置擴展源,libmcrypt-devel使用tar包安裝

[root@bright ~]# tar zxvf libmcrypt-2.5.6.tar.gz 
[root@bright ~]# cd libmcrypt-2.5.6
[root@bright libmcrypt-2.5.6]# ./configure --prefix=/usr/local/libmcrypt
[root@bright libmcrypt-2.5.6]# make && make install

2.安裝php

[root@bright src]# tar zxvf php-5.6.6.tar.gz 
[root@bright src]# useradd -s /sbin/nologin php-fpm 
[root@bright src]# cd php-5.6.6
[root@bright src]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt=/usr/local/libmcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-curl 
[root@bright php-5.6.6]# make && make install
[root@bright php-5.6.6]# cp php.ini-production /usr/local/php/etc/php.ini
[root@bright php-5.6.6]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@bright php-5.6.6]# mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@bright php-5.6.6]# chmod 755 /etc/init.d/php-fpm 
[root@bright php-5.6.6]# chkconfig --add php-fpm
[root@bright php-5.6.6]# chkconfig php-fpm on
[root@bright php-5.6.6]# service php-fpm start

安裝nginx

1.環境檢查

[root@bright nginx-1.7.8]# rpm -q pcre-devel
pcre-devel-7.8-6.el6.x86_64

2.安裝

[root@bright src]# tar nginx-1.7.8.tar.gz 
[root@bright src]# cd nginx-1.7.8
[root@bright nginx-1.7.8]# ./configure --prefix=/usr/local/nginx --with-pcre
[root@bright nginx-1.7.8]# make && make install

3.啓動

[root@bright conf]# /usr/local/nginx/sbin/nginx     #啓動服務
[root@bright conf]# ps -aux | grep nginx
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      11541  0.0  0.0  24304   668 ?        Ss   00:45   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody    11542  0.0  0.1  24728  1248 ?        S    00:45   0:00 nginx: worker process      
root      11544  0.0  0.0 103256   840 pts/0    S+   00:45   0:00 grep nginx

4.配置解析php

[root@bright ~]# vi /usr/local/nginx/conf/nginx.conf  #找如下內容並修改fastcgi_param行
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }
[root@bright ~]# /usr/local/nginx/sbin/nginx -s reload

5.測試

[root@bright ~]# cat /usr/local/nginx/html/1.php 
<?php
    phpinfo();
?>
[root@bright ~]# curl localhost/1.php


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