nginxLinuxmysql

Linux_269_Nginx+PHP+MySQL完整测试

2022-10-05  本文已影响0人  为宇绸缪

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

上一篇下一篇

猜你喜欢

热点阅读