美文网首页nginxLinuxmysql
Linux_269_Nginx+PHP+MySQL完整测试

Linux_269_Nginx+PHP+MySQL完整测试

作者: 为宇绸缪 | 来源:发表于2022-10-05 21:42 被阅读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

    相关文章

      网友评论

        本文标题:Linux_269_Nginx+PHP+MySQL完整测试

        本文链接:https://www.haomeiwen.com/subject/inwpartx.html