美文网首页
docker+lnmp搭建开发环境

docker+lnmp搭建开发环境

作者: 行万里路GOGO | 来源:发表于2023-01-08 08:31 被阅读0次

    搭建开发环境

    一、CentOS
    1. 找不到 ifconfig 命令:
    yum -y install net-tools
    
    1. CentOS 7/8 不支持中文
    • 查看系统是否安装中文语言包

      locale -a | grep "zh_CN"

    • 安装中文语言包

      yum install kde-l10n-Chineseyum install glibc-common

      localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

    • 修改配置文件

      vi /etc/profile 添加 export LC_ALL=zh_CN.utf8

      执行生效: source /etc/profile

    • 参考资料:

    CentOS 8 支持中文

    https://www.jianshu.com/p/5fb58e9e362b

    docker 中CentOS 7 支持中文

      http://www.noobyard.com/article/p-caxkulwh-u.html
    
    1. 常用Linux 命令工具

      # 网络配置工具
      yum isntall -y net-tools 
      
      # vim 编辑器
      yum install -y vim 
      
      # screen 多视窗管理工具,如果使用 yum install -y screen 安装失败,则需要源码安装
      # 参考:https://blog.csdn.net/han0373/article/details/107840268 
      yum install -y screen 
      
      # wget 下载工具
      yum install -y wget 
      
    二、lnmp 环境安装

    lnmp 环境一键安装包: https://lnmp.org/install.html

    Nginx状态管理: /etc/init.d/nginx {start|stop|reload|restart}

    PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}

    MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}

    数据库管理工具: http://127.0.0.1/phpmyadmin/

    备注:数据库root账号连接 mysql 需要修改访问权限

    > update user set host='%' where user='root';
    
    > flush privileges
    

    管理网站vhost

    lnmp vhost add # 添加网站

    lnmp vhost list # 列出网站

    lnmp vhost del # 删除网站

    三、 docker 操作
    1. 将容器保存为镜像
    docker commit [-m '提交的描述信息'] [-a '创建者']  容器名称|容器ID  生成的镜像名称[:标签名]
    
    1. 创建容器
    docker run -dit -p 80:80 -p 443:443 -p 13306:3306 -v D:\phpstudy_pro\Extensions\docker\nginx\vhosts:/usr/local/nginx/conf/vhost -v D:\phpstudy_pro\Extensions\docker\mysql\var:/home/mysql_data  -v D:\phpstudy_pro\WWW:/home/wwwroot --privileged=true --name=my_lnmp lnmp:1.0
    
    

    -d: 后台运行容器

    -p: 映射主机与容器端口

    -v: 挂载本地目录

    --name=? : 为容器分配名称

    --privileged=true: 使用该参数,container内的root拥有真正的root权限

    1. 导出/导入镜像
    # 导出镜像
    docker save -o xxx.tar 容器ID/容器名称
    # 导入镜像
    docker load -i nginx.tar
    

    注意:

    删除容器时的错误:

    Error response from daemon: container 369c2c7dbffd3d8acf26478c114fe1d3b1a8adf02815eb7c1beb8cbb968f8fc0: driver "overlay2" failed to remove root filesystem: unlinkat /var/lib/docker/overlay2/bac9a93afbf2d41ae6fb8c5f841857dd5a671f9f225b8ff3508980c234721795/diff/usr/local/nginx/conf/home/wwwroot/test.com/.user.ini: operation not permitted
    
    四、安装php yaf 框架扩展

    官网下载页面: http://pecl.php.net/package/yaf

    wget -c http://pecl.php.net/get/yaf-3.0.7.tgz
    
    tar -xzvf yaf-3.0.7.tgz
    
    cd yaf-3.0.7
    
    /usr/local/php/bin/phpize
    
    ./configure --with-php-config=/usr/local/php/bin/php-config
    
    make && make install
    
    

    在 php.ini 配置文件中引用扩展

    extension=yaf.so
    

    最后,重启php-fpm

    五、 Redis
    redis 启动命令: 
    /usr/local/bin/redis-server /usr/local/etc/redis/redis.conf
    
    redis 关闭命令: 
    redis-cli shutdown 
    

    备注: docker redis 镜像中 redis 服务是主进程,关闭 redis 时容器也将关闭。

    相关文章

      网友评论

          本文标题:docker+lnmp搭建开发环境

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