alpine安装启动mysql_在docker的alpine类镜像上安装LNMP服务

安装目的

本文是《用docker部署WEB项目》的第二篇

alpine是docker官方推荐的linux发行版,基于它制作docker,文件体积会小很多

alpine和常用的centos、ubuntu等相比还是会有一些区别,所以需要通过今天的练习进行一些了解。

前置条件

测试环境建议为windows10专业版和ubuntu16.04,其它环境本人未测试

已在服务器上安装docker ce和docker-compose

新建容器并进入内部

docker run -it -p 18080:80 -p 21:21 -p 3306-3306 php:7.2.4-fpm-alpine3.6 /bin/sh

指定国内镜像源

输入命令行打开repositories文件

cd /etc/apk

vi repositories

在文件中输入源地址:

http://mirrors.aliyun.com/alpine/v3.6/main

http://mirrors.aliyun.com/alpine/v3.6/community

安装nginx

安装

apt add --no-cache nginx

保护pid

cd /run

mkdir nginx

新建设置网页

新建一个网页index.html

cd /var/www/html

vi index.html

写一个简单的html页面或是只输入一行文字如

hello world

修改nginx的配置文件

修改配置文件/etc/nginx/conf.d/default.conf,只保留最基本配置

server {

listen 80 default_server;

location / {

index index.html;

root /var/www/html;

}

location = /404.html {

internal;

}

}

运行nginx

输入命令行重启nginx

nginx -s reload

打开浏览器,输入http://127.0.0.1:18080 ,看到网页显示hello world,nginx安装成功。

/usr/sbin/nginx -c /etc/nginx/nginx.conf

验证成功

打开浏览器,输入127.0.0.1,看到网页显示hello world,nginx安装成功。

在网站中启用php

添加PHP支持

修改/etc/nginx/conf.d/default.conf文件,增加php支持

server {

listen 80;

index index.html index.php;

location / {

index index.html;

root /var/www/html;

#实现PHP伪静态

try_files $uri /index.php?$args;

}

# You may need this to prevent return 404 recursion.

location = /404.html {

internal;

}

#添加php支持

location ~ .php {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;

include fastcgi_params;

}

}

请确认 /etc/nginx/nginx.conf中包含include config.d/*.conf语句,否则default.conf将不会生效,另外,nginx.conf中如果已经有一个server服务器,也可能造成端口冲突,这些问题的处理方式,和其它linux发行版是一样的。

新建测试用的php文件

输入命令行新建一个info.php文件

vi info.php

写一个简单的php文件如:

phpinfo();

输入命令行新建一个index.php文件

vi index.php

写一个简单的php文件如:

echo 'Hello php';

重启php和nginx服务

输入命令行重启服务

php-fpm --daemonize

nginx -s reload

验证成功

打开浏览器访问http://127.0.0.1:18080/info.php 会显示phpinfo信息,php支持已安装成功

打开浏览器访问http://127.0.0.1:18080/anyting 会显示hello php,伪静态已设置成功

安装常用php组件

alpine提供了docker-php-ext-install来安装常用的php扩展,当前已支持如下扩展

Possible values for ext-name:

bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo filter ftp gd gettext gmp hash iconv imap interbase intl json ldap mbstring mysqli oci8 odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell readline recode reflection session shmop simplexml snmp soap sockets sodium spl standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zend_test zip

由于我们选择的镜像不是最基本的alpine而是php:7.2.4-fpm-alpine3.6 ,这些镜象其实都已经预装了,所以下面的命令只是一个示范,它会提示扩展已安装过:

命令来快速安装php组件

docker-php-ext-install fileinfo

如果要装这些以外的扩展就会比较复杂,这篇文章里就不提了。

安装完成

现在我们已经熟悉了alpine,接下来我会练习用dockerfile完成今天的工作,制作第一个自己的docker镜像。

版权申明

本文来自 第九区,转载请保留本段文字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值