美文网首页
基于 lnmp & php 5.5 的 zend 框架搭建

基于 lnmp & php 5.5 的 zend 框架搭建

作者: 莫帆海氵 | 来源:发表于2021-11-14 17:15 被阅读0次

    最近在搭建一个旧系统,需要低版本的 php 环境,这里简便写了下搭建过程,以便后来查询。

    • 软件版本
    lnmp 1.8
    nginx 1.20.1
    php 5.5
    mongodb 4.0.26
    
    // php 扩展
    mongo 1.6.0
    

    部署

    • 部署环境

    zendframework + php + nginx + mongodb

    • 安装依赖
    php composer.phar i
    
    • 配置 nginx,见 rms.conf 配置文件

    环境安装及配置

    • lnmp 安装
    执行命令,按提示选择各软件的版本
    wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && ./install.sh lnmp
    
    
    参考网页
    https://lnmp.org/install.html
    
    配置 nginx(参照下面的 rms.conf)
    
    配置 php
    // 默认生成的配置设置根目录为当前执行的目录
    // 当前项目需要他根目录设置为代码的根目录
    # fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
    fastcgi_param PHP_ADMIN_VALUE "open_basedir=/var/www/rms";
    
    
    • mongodb 安装和初始化登录用户
    //安装说明
    https://zhuanlan.zhihu.com/p/79973717
    
    //配置
    // /etc/mongod.conf
    port=27017
    dbpath= /data/mongodb/db
    logpath= /data/mongodb/log/mongodb.log
    logappend=true
    fork=true
    maxConns=100
    journal=true
    storageEngine=wiredTiger
    bind_ip= 0.0.0.0
    auth= true
    
    //启动
    mongod --config=/etc/mongod.conf
    
    //登录
    mongo -u rms -p password
    
    //创建用户
    
    // 1.设置无密码登录(需要设置 config 中 auth=false)
    mongo
    // 2.切换到对应数据库
    use ms
    // 3.管理员角色
    db.createUser( { user: "root", pwd: "***", roles: [ { role: "dbOwner", db: "ms" } ] } )
    // 4.用户角色
    db.createUser( { user: "rms", pwd: "***", roles: [ { role: "readWrite", db: "ms" } ] } )
    
    
    • mongo 扩展安装(php)
    // 安装 mongo 插件
    // 注意这里使用 mongo 插件而非 mongodb 插件
    // 因为集成 lnmp 里的 php 是自己编译,这里 mongo 插件也选择自己编译
    $ wget http://pecl.php.net/get/mongo-1.6.0.tgz
    $ cd /mongodb-1.5.2
    $ /usr/local/php/bin/phpize
    $ ./configure --with-php-config=/usr/local/php/bin/php-config
    $ make && make install
    
    // 安装后设置 php.ini
    // 目录选择编译后生成目录
    extension =/usr/lib/php/extensions/debug-non-zts-20151012/mongo.so
    
    // 设置数据库连接的问题
    // 在mongodb@4.0 + mongo@1.6.0 设置的连接参数需要 authMechanism
    // 配置如下
    'connectionString' => 'mongodb://rms:I574Jcl6@127.0.0.1:27017/ms',
    'options' => array(
        'authMechanism' => 'SCRAM-SHA-1'
    )
    
    // 安装参照内容
    https://www.runoob.com/mongodb/mongodb-install-php-driver.html
    // php mongo 的扩展
    https://pecl.php.net/package/mongo
    
    • nginx 配置
    // conf/vhost/rms.conf
    server
        {
            listen 80 default_server reuseport;
            #listen [::]:80 default_server ipv6only=on;
            server_name _;
            index index.html index.htm index.php;
            root /var/www/rms/public;
    
            #include enable-php.conf;
    
            location ~ \.php {
                fastcgi_pass unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
                include fastcgi.conf;
            }
            
            location / {
                if (!-e $request_filename) {
                    rewrite ^/(.*) /index.php?$1 last;
                }
            }
    
            location /nginx_status
            {
                stub_status on;
                access_log   off;
            }
    
            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }
    
            location ~ .*\.(js|css)?$
            {
                expires      12h;
            }
    
            location ~ /.well-known {
                allow all;
            }
    
            location ~ /\.
            {
                deny all;
            }
    
            access_log  /var/www/log/rms.access.log;
            error_log   /var/www/log/rms.error.log;
        }
    

    相关文章

      网友评论

          本文标题:基于 lnmp & php 5.5 的 zend 框架搭建

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