zoukankan      html  css  js  c++  java
  • centos8安装docker+phpfpm+alpine+nginx+mariadb

    2020-3-31 12:51:44 星期二

    记录一下安装过程备忘:

    1. 宿主机 centos8 安装docker-ce (可参考centos7的安装方法, 没有太大变化)

    2. nginx 直接装在宿主机上, 添加一个域名的配置, 将php文件的请求转发到 172.0.0.1:9700

    3. php通过docker的方式安装, 基础镜像选择alpine后才知道通过alpine的 apk add 安装PHP扩展有多方便

    docker php-fpm 官方镜像说明

    3.1 拉取php docker镜像, 拉取的时候指定tag拉取需要的版本, 这里看各个tag说明;

    docker pull php:7-fpm-alpine3.11

    3.2 启动php容器

    // 查看拉取的镜像
    docker images
    
    //启动镜像 (-d 后台启动,  --name 给启动后的容器起个名)
    docker run -d --name php7fpm  0e798217e66f

    3.3 复制PHP的配置文件

    // 进入容器
    docker exec -it php7fpm /bin/sh
    
    //复制创建php.ini
    //官方镜像的php配置文件地址在 /usr/local/etc/php/  可以去官网点开Dockerfile文件查看其配置文件路径
    cp php.ini.production php.ini

    3.4 退出容器, 创建新的镜像

    //退出容器: 容器内执行
    exit

    //查找刚才修改过的容器id docker ps //创建新的镜像 (如下边, 提交生成一个名为php7fpm_v1的新镜像) docker commit 8edfc184eb14 php7fpm_v1

    3.5 启动新的PHP容器

    //启动刚才新建的镜像, 启动后的容器名字叫php7fpm_v1, 
    //将宿主机的 /usr/www/html 与容器的 /usr/www/html 目录做映射, 
    //将宿主机的 127.0.0.1:9700 与容器的 9000 端口做映射
    docker run -d -v /usr/www/html:/usr/www/html -p 127.0.0.1:9700:9000 --name php7fpm_v1 php7fpm_v1

    3.6 在宿主机的 /usr/www/html 目录下添加PHP脚本 index.php

    1 <?php
    2 
    3  phpinfo();

    3.7 浏览器中访问第2步中配置好的域名, 查看php信息

    4. 安装mariadb

    4.1 dnf install -y mariadb 

    4.2 dnf install -y mariadb-server (此时2020年5月26日最新版是 10.3.17)

    4.3 修改字符集

    #编辑server的配置 
    vi /etc/my.cnf.d/mariadb-server.cnf
    
    #在[mysqld]章节添加指令, 可以不用设置数据库和字段的默认字符集, 这些是继承上级的 server>database>table>field
    character_set_server=utf8
    collation_server=utf8_general_ci
    
    #启动mariadb, 重启: systemctl restart mariadb
    systemctl start mariadb

    #查看字符集
    show variables like “%character%”;
    show variables like “%collation%” ;

    4.4 修改密码

    1)mysql_secure_installation
    首先是设置密码,会提示先输入密码.。
    Enter current password for root (enter for none):<–初次运行直接回车
    (2)设置密码
    Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
    New password: <– 设置root用户的密码
    Re-enter new password: <– 再输入一次你设置的密码
    (3)其他配置
    Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
    Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
    Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
    Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
    初始化MariaDB完成,

    ~来个硬广~ 个人网店系统

  • 相关阅读:
    RN-Android构建失败:Caused by: org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'AwesomeProject'.
    Android更新包下载成功后不出现安装界面
    真机调试: The application could not be installed: INSTALL_FAILED_TEST_ONLY
    react native 屏幕尺寸转换
    Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
    React Native安卓真机调试
    git提交代码报错Permission denied, please try again
    The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
    命令行设置快捷命令
    Linux 常用指令
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/12604549.html
Copyright © 2011-2022 走看看