美文网首页
基于 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