LNMP配置文档

LINUX nginxmysql php


网上的论坛网上偷菜都是这种结构


编译安装nginx

tar -zxvf nginx-1.0.9.tar.gz -C/usr/local/src

./configure --prefix=/usr/local/nginx109--with-http_stub_status_module --with-


http_ssl_module  --user=nginx --group=nginx

make && make install

/usr/local/nginx/sbin/nginx start

netstat -anplt | grep :80

elinks 127.0.0.1


编译安装mysql

tar –xzvf mysql-5.1.34.tar.gz –C/usr/local/src

如果不存在mysql 用户,则建立之

./configure --prefix=/usr/local/mysql

make && make install





rm -rf /etc/my.cnf  删掉否则后面没法成功


/usr/local/mysql/bin/mysql_install_db

chown -R  mysql:mysql /usr/local/mysql/


/usr/local/mysql/bin


./mysqld_safe --user=mysql &启动mysql服务器


/usr/local/mysql/bin/mysql 连接测试


编译安装php

tar -jxvf php-5.2.9.tar.bz2 -C/usr/local/src

cp php-5.2.8-fpm-0.5.10.diff.gz/usr/local/src

cd /usr/local/src

打补丁

gzip -cd php-5.2.8-fpm-0.5.10.diff.gz |patch -d php-5.2.9/ -p1

cd PHP


./configure --prefix=/usr/local/php--with-mysql=/usr/local/mysql/ --enable-fastcgi --


enable-fpm    打开fastcgi功能交给fpm处理PHP 功能


make && make install

cp php.ini-dist /usr/local/php/php.ini


vim /usr/local/php/etc/php-fpm.conf

          Unix user of processes

          <value name="user">nobody</value>


         Unix group of processes

         <value name="group">nobody</value>


取消注释.标签usergroup用于设置运行FastCGI进程的用户和用户组。需要注意的是,这里指定的用户


和用户组要和Nginx配置文件中指定的用户和用户组一致。



其他选项的解释

标签listen_address是配置fastcgi进程监听的IP地址以及端口,默认是127.0.0.1:9000

<valuename="listen_address">127.0.0.1:9000</value>


标签display_errors用来设置是否显示PHP错误信息,默认是0,不显示错误信息,设置为1可以显示PHP


误信息。

<valuename="display_errors">0</value>


标签max_children用于设置FastCGI的进程数。根据官方建议,小于2GB内存的服务器,可以只开启64个进


程,4GB以上内存的服务器可以开启200个进程。

<value name="max_children">5</value>


标签request_terminate_timeout用于设置FastCGI执行脚本的时间。默认是0s,也就是无限执行下去,可


以根据情况对其进行修改。

<valuename="request_terminate_timeout">0s</value>


标签rlimit_files用于设置PHP-FPM对打开文件描述符的限制,默认值为1024。这个标签的值必须和Linux


内核打开文件数关联起来,例如要将此值设置为65535,就必须在Linux命令行执行'ulimit -HSn 65536'


<valuename="rlimit_files">1024</value>


标签max_requests指明了每个children最多处理多少个请求后便会被关闭,默认的设置是500

<valuename="max_requests">500</value>


标签allowed_clients用于设置允许访问FastCGI进程解析器的IP地址。如果不在这里指定IP地址,Nginx


转发过来的PHP解析请求将无法被接受。

<value name="allowed_clients">127.0.0.1</value>




管理FastCGI进程

在配置完php-fpm后,就可以启动FastCGI进程了。启动fastcgi进程有两种方式:

/usr/local/php/bin/php-cgi --fpm  

或者


/usr/local/php/sbin/php-fpm  start   使用这个



建议采用第二种方式启动FastCGI进程。

/usr/local/php/sbin/php-fpm还有其他参数,具体为start|stop|quit|restart|reload|logrotate

每个启动参数的含义如下:

? start,启动PHPFastCGI进程。

? stop,强制终止PHPFastCGI进程。

? quit,平滑终止PHPFastCGI进程。

? restart重启PHPFastCGI进程。

? reload重新加载PHPphp.ini

? logrotate重新启用log文件。

reload是个很重要的参数,它可以在PHPFastCGI进程不中断的情况下重新加载改动过的php.ini,因此


通过php-fpm可以平滑变更FastCGI模式下的PHP设置。



FastCGI进程启动后,其监听的IP地址和端口也随即启动,可以通过psnetstat查看相关信息。


配置Nginx来支持PHP

Nginx的安装特别简单,前面已经对此进行了详细介绍,这里不再进行讲述。下面重点介绍Nginx如何通过


php-fpmFastCGI进程对PHP进行解析处理。

由于Nginx本身不会对PHP进行解析,因此要实现NginxPHP的支持,其实是将对PHP页面的请求交给


fastCGI进程监听的IP地址及端口。如果把php-fpm当做动态应用服务器,那么Nginx其实就是一个反向代


理服务器。Nginx通过反向代理功能实现对PHP的解析,这就是Nginx实现PHP动态解析的原理。

取消掉下端注释/usr/local/nginx/conf/nginx.conf  去掉注释

location ~ \.php$ {  

          root           html;  

          fastcgi_pass  127.0.0.1:9000;  

          fastcgi_index  index.php;  

          fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;  

          include       fastcgi_params;  

      }  

}  

location ~.*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$

{

root /scripts;

if (-f $request_filename) {

expires 1d;

break;

}

}


2location  是因为在正和mysqlnginx 其他格式的不支持加上了后面安装时就会显示了

fastcgi_param指令指定放置PHP动态程序的主目录,也就是$fastcgi_script_name前面指定的路径

fastcgi_params文件是FastCGI进程的一个参数配置文件,在安装Nginx后,会默认生成一个这样的文件,


这里通过include指令将FastCGI参数配置文件包含了进来。

接下来,启动nginx服务。

/usr/local/nginx/sbin/nginx

到此为止,Nginx+PHP已经配置完成。



测试php

mkdir /scripts

touch /scripts/wdostest.php

vim /scripts/wdostest.php


<? phpinfo(); ?>


firefox 127.0.0.1/wdostest.php


测试php连接mysql

touch /scripts/testmysql.php

vim /scripts/testmysql.php


<?

$link=mysql_connect('localhost','root');

if(!$link)

       echo"sorry,faild";

       else

       echo "ohyes!!!!!";

mysql_close();

?>


LNMP文档farm解压会得到upload  把里面的东西都考到nginxhtml   和你创建的scripts

考过来的都加上777的权限

ln -s /scripts/home nginx109/html/home   做个软连接



/usr/local/php/sbin/php-fpm  start 启动

记得把mysql  nginx 服务都重启下

浏览器上现输入

http://192.168.1.203/index.php   安装数据库的一些东西和设置

然后全都完成应该是直接输入你的IP  你就可以进入我的家园网站数据库名mysql  数据库用户


root  密码不用填


用下面的最好记得把有一行

      location / {

          root   html;

          index  index.php index.htm;

      }


记得把支持php的放在第一个位置



还可以这样改

location ~ \.php$ {  

          root           html;

          fastcgi_pass  127.0.0.1:9000;  

          fastcgi_index  index.php;  

          fastcgi_param SCRIPT_FILENAME /usr/local/nginx109/html/$fastcgi_script_name;  

          include       fastcgi_params;  

      }  

}  

location ~.*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$

{

root html;

if (-f $request_filename) {

expires 1d;

break;

}

}


然后上面的那个/script  就可以删了还有那个解压缩的 upload  里面 home  考到 nginx/html


netstat -anplt | grep nginx 查端口


可以到百度云盘下载账号pankuo1@sina.cn密码pk492940446

压缩包


redhat5.8下搭建lnmp完成ucenter home(提供全套软件包)_redhat5.8

redhat5.8下搭建lnmp完成ucenter home(提供全套软件包)_lnmp_02

redhat5.8下搭建lnmp完成ucenter home(提供全套软件包)_ucenter home_03