PHP配置文件
1、默认的php配置文件模板,在解压的php源码的目录下
比较一下php的生成配置文件和开发模式配置文件的区别
使用vimdiff比较两个文件的区别
2、拷贝该配置文件,放入到php的编译安装目录下
第1步
/opt/php-7.3.5
ls php.ini*
php.ini-development
php.ini-production
第2步
cp php.ini-development /opt/php7.3.5/lib/php.ini
有关FASTCGI配置文件
1、检查fastcgi的默认配置文件
2、拷贝模板配置文件,生成新的php配置文件
第1步
[root@nfs_machine etc]# ls
pear.conf php-fpm.conf.default php-fpm.d
[root@nfs_machine etc]# pwd
/opt/php7.3.5/etc
第2步
cp php-fpm.conf.default php-fpm.conf
对php-fpm.d文件夹下的内容也进行拷贝备份
[root@nfs_machine php-fpm.d]# ls
www.conf.default
[root@nfs_machine php-fpm.d]# cp www.conf.default www.conf
[root@nfs_machine etc]# ls
pear.conf php-fpm.conf php-fpm.conf.default php-fpm.d
启动PHP服务,指定义fastcgi形式
[root@nfs_machine php7.3.5]# cd sbin/
[root@nfs_machine sbin]# ls
php-fpm
[root@nfs_machine sbin]# pwd
/opt/php7.3.5/sbin
用绝对路径命令,启动php进程
/opt/php7.3.5/sbin/php-fpm
[root@nfs_machine sbin]# /opt/php7.3.5/sbin/php-fpm
[04-Mar-2022 19:10:41] ERROR: [pool www] cannot get uid for user 'nginx'
[04-Mar-2022 19:10:41] ERROR: FPM initialization failed
出现这个错误,就把www.conf里面的user和group改成自己想要的用户
[root@nfs_machine php-fpm.d]# ps -ef | grep php
root 65013 1 0 19:14 ? 00:00:00 php-fpm: master process (/opt/php7.3.5/etc/php-fpm.conf)
nginx 65014 65013 0 19:14 ? 00:00:00 php-fpm: pool www
nginx 65015 65013 0 19:14 ? 00:00:00 php-fpm: pool www
root 65022 4382 0 19:15 pts/0 00:00:00 grep --color=auto php
修改nginx支持php代码
1、注意这里的操作仅仅是学习阶段,为了让大家了解include语法的功能,对配置文件优化,进行的操作
删除nginx.conf中其他的无用的参数,然后用include语法,对每一个虚拟主机管理,进行配置文件拆分
/opt/tngx232/conf/nginx.conf
保留如下内容。主配置文件里面不要放太多虚拟的主机,放在extra文件里面
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#error_log "pipe:rollback logs/error_log interval=1d baknum=7 maxsize=2G";
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
include extra/*.conf;
}
2、手动创建extra目录以及my_php.conf
/opt/tngx232/conf/extra/my_php.conf
server {
listen 80;
server_name _;
location / {
root html;
index index.html;
}
# 添加有关php程序的解析
# 判断当请求url结尾是php,php5的时候,就进入如下的location代码
location ~ .*\.(php|php5)?$ {
root html/myphp;
fastcgi_pass 127.0.0.1:9000; # 请求转发给php服务
fastcgi_index index.php;
include fastcgi.conf;
}
}
3、检查nginx语法以及重启nginx
nginx -t
nginx -s reload
4、创建php的首页脚本文件
[root@nfs_machine myphp]# cat index.php
<?php
phpinfo();
?>
5、测试lnmp的结合关系
nginx -t
nginx -s reload
http://192.168.178.121/index.php
当看到phpinfo的页面,表示lnmp环境搭建好了,nginx已经可以转发请求给php了
测试php访问mysql
编写php的脚本代码,直接在网页中解析即可
/opt/tngx232/html/myphp/test_mysql.php
<?php
$link_id=mysqli_connect('localhost','root','123456') or mysql_error();
if($link_id){
echo "mysql successful by chaoge.\n";
}else {
echo mysql_error();
}
?>
如上脚本的中文解释
1、建立mysql链接,把链接信息复制给变量,link_id
2、如果link_id为真,那么就打印一串字符串信息,告诉你mysql连接成功
3、否则给你输出mysql的报错信息,让你能够自行的调试程序
再次测试连接lnmp环境,让nginx转发请求给php然后测试是否能够连接mysql
网友评论