设为首页 收藏本站
查看: 1069|回复: 0

LNMP配置文档

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-4-19 08:59:56 | 显示全部楼层 |阅读模式
开始安装
确认包安装
yum install pcre-devel openssl-devel -y
添加nginx用户
useradd  nginx
[编译安装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-mysql-5.1.34.tar.gz –C /usr/local/src
如果不存在mysql 用户,则建立之
./configure --prefix=/usr/local/mysql
make && make install

/usr/local/mysql/bin/mysql_install_db
chown  -R  mysql: mysql /usr/local/mysql/
./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
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --enable-fastcgi --enable-fpm
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>

取消注释.标签user和group用于设置运行FastCGI进程的用户和用户组。需要注意的是,这里指定的用户和用户组要和Nginx配置文件中指定的用户和用户组一致。

其他选项的解释
标签listen_address是配置fastcgi进程监听的IP地址以及端口,默认是127.0.0.1:9000。
<value name="listen_address">127.0.0.1:9000</value>  

标签display_errors用来设置是否显示PHP错误信息,默认是0,不显示错误信息,设置为1可以显示PHP错误信息。
<value name="display_errors">0</value>

标签max_children用于设置FastCGI的进程数。根据官方建议,小于2GB内存的服务器,可以只开启64个进程,4GB以上内存的服务器可以开启200个进程。
<value name="max_children">5</value>

标签request_terminate_timeout用于设置FastCGI执行脚本的时间。默认是0s,也就是无限执行下去,可以根据情况对其进行修改。
<value name="request_terminate_timeout">0s</value>

标签rlimit_files用于设置PHP-FPM对打开文件描述符的限制,默认值为1024。这个标签的值必须和Linux内核打开文件数关联起来,例如要将此值设置为65535,就必须在Linux命令行执行'ulimit -HSn 65536'。
<value name="rlimit_files">1024</value>

标签max_requests指明了每个children最多处理多少个请求后便会被关闭,默认的设置是500。
<value name="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,启动PHP的FastCGI进程。  
? stop,强制终止PHP的FastCGI进程。  
? quit,平滑终止PHP的FastCGI进程。  
? restart, 重启PHP的FastCGI进程。  
? reload, 重新加载PHP的php.ini。  
? logrotate, 重新启用log文件。  
reload是个很重要的参数,它可以在PHP的FastCGI进程不中断的情况下重新加载改动过的php.ini,因此通过php-fpm可以平滑变更FastCGI模式下的PHP设置。

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

配置Nginx来支持PHP
Nginx的安装特别简单,前面已经对此进行了详细介绍,这里不再进行讲述。下面重点介绍Nginx如何通过php-fpm的FastCGI进程对PHP进行解析处理。
由于Nginx本身不会对PHP进行解析,因此要实现Nginx对PHP的支持,其实是将对PHP页面的请求交给fastCGI进程监听的IP地址及端口。如果把php-fpm当做动态应用服务器,那么Nginx其实就是一个反向代理服务器。Nginx通过反向代理功能实现对PHP的解析,这就是Nginx实现PHP动态解析的原理。
取消掉下端注释
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;  
        }  
}  

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 "oh yes!!!!!";
mysql_close();
?>

firefox 127.0.0.1/testmysql.php

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
{
root /scripts;
if (-f $request_filename) {
expires 1d;
break;
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-205899-1-1.html 上篇帖子: LAMP 快速部署 下篇帖子: CentOS 7 基于fastcgi 的lamp
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表