lnmpphpfpm
‘壹’ LNMP 环境,php.ini 修改之后为什么不生效
分析解决问题的方法:
1、到根目录下去找一下php-fpm看看在哪里?
find / -name php-fpm
/usr/local/php/sbin/php-fpm
/usr/bin/php-fpm
/etc/rc.d/init.d/php-fpm
找到了就是第三行的那个 然后执行
/etc/rc.d/init.d/php-fpm restart
这样php.ini配置文件就生效了!
解决方法二:
reboot 重新启动服务器,这个是扯淡的,还是老老实实的使用方法一更靠谱!
‘贰’ 如何快速搭建LNMP环境
1.先准备一台虚拟机,并配好yum源
我准备的是一台RedHat 7.4版本的虚拟机,使用的是redhat7的光盘镜像作为yum源
2.下载所需软件包
3.解压lnmp_soft.tar.gz
[root@localhost ~]# tar -xf lnmp_soft.tar.gz
4.进入lnmp_soft目录,执行install_lnmp.sh脚本
[root@localhost lnmp_soft]# ./install_lnmp.sh
5.程序主页面
6.安装nginx,mariadb,php等软件包
6.1 按 “1” 安装nginx
首先会安装依赖包,然后再源码安装nginx。
6.2 按 “2” 安装mariadb
6.3 按 “3” 安装php
7.启动服务
7.1 启动nginx服务
[root@localhost lnmp_soft]# ln -s /usr/local/nginx/sbin/nginx /sbin/ //做一个软连接
[root@localhost lnmp_soft]# nginx //启动服务
7.2 启动mariadb服务
[root@localhost lnmp_soft]# systemctl restart mariadb.service
7.3启动php-fpm服务
[root@localhost lnmp_soft]# systemctl restart php-fpm.service
8.修改nginx.conf主配置文件实现动静分离,修改完配置文件重启服务
8.1 [root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf
修改65-71行实现动静分离,先把65-71行的注释打开,然后对比下面进行更改。
65 location ~ \.php$ {66 root html;67 fastcgi_pass 127.0.0.1:9000;68 fastcgi_index index.php;69 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; //把这一行注释70 include fastcgi.conf; //把后缀改为.conf71 }
8.2 修改完nginx.conf,需要让nginx重新读取配置文件(重启服务)
[root@localhost html]# nginx -s stop
[root@localhost html]# nginx
9.部署测试页面
[root@localhost html]# cp /root/lnmp_soft/php_scripts/mysql.php /usr/local/nginx/html/
[root@localhost html]# ls
50x.html index.html mysql.php
10.浏览器测试LNMP环境是否搭建成功
[root@localhost html]# firefox http://192.168.4.100/mysql.php
‘叁’ LNMP模式下如何开启PHP错误日志
500错误首先就需要先开启php错误日志,通过php错误日志来排错。
LNMP下的错误需要编辑 /usr/local/php/etc/php-fpm.conf 加上
php_admin_value[error_log] = /usr/local/php/var/log/php_errors.log
php_admin_flag[log_errors] = on
或在/usr/local/php/etc/php-fpm.conf里设置,加上catch_workers_output
= yes,错误信息就会记录到php-fpm.conf里error_log设置的文件里。 上述两种方法都行,重启php-fpm生效
同理php.ini里的display_errors也是需要在php-fpm.conf里设置的,加上php_flag[display_errors]
= On就开启了。 有时可能错误日志文件不自动创建,可以执行:touch
/usr/local/php/var/log/php_errors.log
‘肆’ 如何在lnmp上部署Thinkphp
ThinkPHP的四种URL模式:0(普通模式);1(PATHINFO模式);2(REWRITE模式);3(兼容模式)nginx需要PATHINFO模式,但需要更改nginx配置文件让其支持PATHINFO模式。系统环境:系统:CentOS-6.4-x86_64web服务器:nginx1.2.7PHP版本:PHP5.3.17数据库版本:MySQL5.5.28一、安装LNMP1.0一键安装包按照以上版本安装环境二、修改配置文件1.修改php配置文件php.ini,将其中cgi.fix_pathinfo=0,值改为1重启php-fpm2.ssh里执行:cat>/usr/local/nginx/conf/pathinfo.conf<<'EOF'set$real_script_name$fastcgi_script_name;if($fastcgi_script_name~"(.+?\.php)(/.*)"){set$real_script_name$1;set$path_info$2;}fastcgi_paramSCRIPT_FILENAME$document_root$real_script_name;fastcgi_paramSCRIPT_NAME$real_script_name;fastcgi_paramPATH_INFO$path_info;EOF再将虚拟主机配置文件里的location~.*\.(php|php5)?$替换为:location~.*\.php再在includefcgi.conf;下面添加一行includepathinfo.conf;重启nginx完整的虚拟主机配置文件如下:server { listen 80; server_namewww.lnmp.org; indexindex.htmlindex.htmindex.php; root /home/wwwroot/lnmp; location~.*\.php { try_files$uri=404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_indexindex.php; includefcgi.conf; includepathinfo.conf; } location/status{ stub_statuson; access_log off; } location~.*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location~.*\.(js|css)?$ { expires 12h; } access_log /home/wwwlogs/lnmp.log lnmp;}将ThinkPHP的URL模式设置成PATHINFO。ThinkPHP就可以在nginx中运行了。
‘伍’ 请教,使用lnmp如何手动安装配置php-fpm,谢谢大家
编译安装的时候有没有log? 看log, 升级一下php试试
‘陆’ LNMP怎么单独重启nginx或者mysql、php
LNMP代表的就是:linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
单独重启nginx或者mysql、php:
nginx : kill nginx进程ID,再/usr/local/nginx/sbin/nginx
mysql :/etc/init.d/mysql restartphp:没有重启
phpfpm:/usr/local/php/sbin/php-fpm reload
‘柒’ centos配置lnmp问题,整个环境都配置成功了,Php-fpm启动老是报错却又启动成功,如何解决
一、安装httpd。
yum install -y httpd
安装完成之后使用以下命令启动httpd服务:
systemctl start httpd.service #启动apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重启apache
systemctl enable httpd.service #设置apache开机启动 可以在浏览器中输入服务器所在的主机的IP即可看到apache的欢迎界面。要在另外一台主机上实现这种访问,需要关闭系统的防火墙。 在CentOS7中,修改防火墙的机制已经做了修改,在CentOS 6.x系统中可以使用以下命令:
service iptables stop
chkconfig iptables off // 开机禁止启动
而在CentOS7中只能使用以下命令,如果使用上面的命令并不会报任何错误,但是起不到关闭防火墙的效果:
systemctl stop firewalld.service
systemctl disable firewalld.service //禁止防火墙开机启动关闭SeLinux:
使用getenforce命令可以查看SeLinux的状态,SeLinux有三种状态,分别为enforcing、permissive和disabled。因为我们的服务器只在内部使用,所以这里我们选择完全关闭(disabled)。具体的做法为修改/etc/sysconfig/selinux文件,具体操作可以看里面的说明。
成功安装httpd(apache)的效果图为:
二、安装MySQL数据库。
MySQL数据库,新版本已经更名为Mariadb,所以这里需要安装Mariadb,可以使用下面的命令进行安装:
yum install -y mariadb
安装完成以后使用下面的命令开启数据库服务:
systemctl start mariadb.service #启动MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重启MariaDB
systemctl enable mariadb.service #设置开机启动
三、安装PHP。
使用下面的命令可以安装PHP:
yum -y install php
使用下面的命令安装php对Mariadb的支持:
yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
使用下面的命令重启Mariadb和httpd服务:
systemctl restart mariadb.service #重启MariaDB
systemctl restart httpd.service #重启apache
‘捌’ 如何解决lnmp一键环境包中php-fpm进程导致cpu占用率过高
修改/usr/local/php/etc/php.ini 查找open_basedir,将有/home/wwwroot/default的几行前面加;注释掉,重启php-fpm生效。
‘玖’ LNMP安装了哪些软件安装目录在哪
lnmp相关软件安装目录
nginx
目录:
/usr/local/nginx/
mysql
目录
:
/usr/local/mysql/
mysql数据库所在目录:/usr/local/mysql/var/
php目录
:
/usr/local/php/
phpmyadmin目录
:
0.9版为/home/wwwroot/phpmyadmin/
1.0版为
/home/wwwroot/default/phpmyadmin/
强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
默认网站目录
:
0.9版为
/home/wwwroot/
1.0版为
/home/wwwroot/default/
nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/
pureftpd
目录:/usr/local/pureftpd/
pureftpd
web管理目录:
0.9版为/home/wwwroot/default/ftp/
1.0版为
/home/wwwroot/default/ftp/
proftpd
目录:/usr/local/proftpd/
lnmp相关配置文件位置
nginx主配置文件:/usr/local/nginx/conf/nginx.conf
/root/vhost.sh添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
mysql配置文件:/etc/my.cnf
php配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
pureftpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
pureftpd
mysql配置文件:/usr/local/pureftpd/pureftpd-mysql.conf
proftpd配置文件:/usr/local/proftpd/etc/proftpd.conf
proftpd
用户配置文件:/usr/local/proftpd/etc/vhost/用户名.conf
lnmpa相关目录文件位置
apache目录:/usr/local/apache/
apache配置文件:/usr/local/apache/conf/httpd.conf
apache虚拟主机配置文件目录:/usr/local/apache/conf/vhost/
‘拾’ LNMP如何修改php-cgi进程数
NMP环境现在还是比较多人用的,下面介绍一个修改php-cgi进程数的方法:
一、修改php-cgi:
vi /usr/local/nginx/conf/nginx.conf
二、其中worker_processes 1;可以修改成2或3个,nginx本身就很强大,不需要像apache那样,开启过多的进程来保证其稳定运行。
vi /usr/local/php/etc/php-fpm.conf
三、找到,按你的内存容量修改PHP进程的数量,一般128内存开启6个,256内存开启16个。这样能保证,在PHP大并发的情况下不会502错误,注:PHP5.3系列不需要修改。
四、优化后,重启lnmp
/root/lnmp restart