centos8安装docker+phpfpm+alpine+nginx+mariadb

摘要:
2020年3月3日,星期二,12:51:44,记下安装过程:1。主机centos8安装docker ce(参考centos7的安装方法,没有太大变化)。2.nginx直接安装在主机上,添加域名配置,并将对php文件的请求转发到172.0.0.1:97003.php,该文件通过docker安装。选择基本映像后,您知道通过alpine的apkadd安装PHP扩展是多么方便

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完成,

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

免责声明:文章转载自《centos8安装docker+phpfpm+alpine+nginx+mariadb》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java Web基础 --- Servlet 综述(理论篇)QQ群认证 人数再度扩容 权限随之升级下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Visual Studio中你所不知道的智能感知

在Visual Studio中的智能感知,相信大家都用过。summary,param,returns这几个相信很多人都用过的吧。那么field,value等等这些呢。 首先在Visual Studio中支持的JavaScript智能感知有以下6种 summary 用于方法和主体内容 param 用于方法的参数 field 用于类的属性 va...

Uni-app基础实战富文本框解析 WordPress rest api实例(二)

Uni-app基础实战富文本框解析 WordPress rest api实例 文本是更具上篇文章uni-app上下拉刷新的续文有需要了解上文的请点击下面连接访问 传送门: Uni-app实战上加载新下拉刷新 WordPress rest api实例 那么我们就开始了,主要的要是去介绍了以下一个插件的使用方式。官方的富文本框有markdown和html两种方...

nginx+tomcat+java部署总结

昨天部署了一下nginx+tomcat+java出现了很多问题,以下为整理总结。 使用了两种部署方式,一种是源码部署,一种是war部署。 java源码部署总结: 环境:nginx+tomcat 部署方式:源码部署 1 源码目录/chroot2/test/schedule 目录下面就是所有源码了 2 tomcat 位置: /usr/local/tomc...

NETCONF+Yang配置TSN

NETCONF用来替换SNMP,是一个网管协议。YANG是NETCONF的数据建模语言,可以使用Yang模式的文本配置网关,从而通过NETCONF协议管理网关。 NETCONF+Yang可用于TSN(实时性网络,time-sensitive network)网络,控制网络实时性。 以下转自:干货铺时间:详解SDN南向协议之NETCONF 背景介绍   NE...

Composer 更换为国内镜像源(Packagist 镜像)

安装lavavel步骤: 安装composer (需要开启php_openssl扩展,否则报错) (https://getcomposer.org/) 到github下载laravel的最新发行版 (https://github.com/laravel/laravel/releases) 把下载的laravel-*.zip 解压缩到项目目录 通过comp...

ts中泛型、泛型方法、泛型类、泛型接口

什么是泛型呢?我们可以理解为泛型就是在编译期间不确定方法的类型(广泛之意思),在方法调用时,由程序员指定泛型具体指向什么类型。泛型在传统面向对象编程语言中是极为常见的,ts中当然也执行泛型,如果你理解c#或java中的泛型,相信本篇理解起来会很容易。 泛型函数、泛型类、泛型接口。 08_generic.ts /* * ts中泛型 * 泛型就是在编译期间不确...