docker部署lnmp-wordpress的实现步骤

2025-05-27 0 76

一、实验环境

系统:centos7 ip:192.168.238.133

?

1

2

3

4

5

6

7

8

9

10
#关闭防火墙

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# setenforce 0

#添加dns

[root@localhost ~]# cat /etc/resolv.conf

nameserver 114.114.114.114

#修改主机名

[root@localhost ~]# hostnamectl set-hostname docker-lnmp

[root@localhost ~]# su

二、安装docker源

?

1

2

3

4
#安装依赖环境

[root@docker-lnmp ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

#安装阿里docker源

[root@docker-lnmp ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

三、安装docker

?

1

2

3

4

5

6

7

8
[root@docker-lnmp ~]# yum install -y docker-ce #安装社区版

[root@docker-lnmp ~]# systemctl enable docker #设置开机自启

created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@docker-lnmp ~]# systemctl start docke #开启服务

#创建dockerfile目录

[root@docker-lnmp ~]# mkdir docker && cd docker

#创建mysql和nginx的dockerfile目录

[root@docker-lnmp docker]# mkdir nginx mysql

docker部署lnmp-wordpress的实现步骤

四、部署nginx和php

1、上传/解压软件包和配置文件

docker部署lnmp-wordpress的实现步骤

?

1

2

3

4

5
#解压软件包

[root@docker-lnmp nginx]# tar zxvf wordpress-4.9.4-zh_cn.tar.gz

[root@docker-lnmp nginx]# tar zxvf nginx-1.12.2.tar.gz

[root@docker-lnmp nginx]# tar zxvf libmcrypt-2.5.7.tar.gz

[root@docker-lnmp nginx]# tar zxvf php-5.5.38.tar.gz

2、创建dockerfile文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35
[root@docker-lnmp nginx]# vim dockerfile

from docker.io/centos:7

run yum -y update

run yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools make

run groupadd -g 900 nginx && useradd nginx -g nginx -s /sbin/nologin

from docker.io/centos:7

run yum -y update

run yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools make

run groupadd -g 900 nginx && useradd nginx -g nginx -s /sbin/nologin

add nginx-1.12.2 nginx-1.12.2

run cd /nginx-1.12.2/ && ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx

run cd /nginx-1.12.2/ && make && make install

run ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

run sed -i '1afastcgi_param script_filename $document_root$fastcgi_script_name;' /usr/local/nginx/conf/fastcgi_params

add nginx.conf /usr/local/nginx/conf/

add wordpress /usr/local/nginx/html/wordpress

add wp-config.php /usr/local/nginx/html/wordpress

run yum -y install gcc gcc-c++ libxml2-devel libcurl-devel openssl-devel bzip2-devel openssl automake make autoconf libtool zlib-devel make pcre-devel wget net-tools

add libmcrypt-2.5.7 libmcrypt-2.5.7

run cd libmcrypt-2.5.7/&& ./configure --prefix=/usr/local/libmcrypt && make && make install

add php-5.5.38 php-5.5.38

run cd php-5.5.38/ && ./configure --prefix=/usr/local/php5.5 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts && make && make install

run cd php-5.5.38 && cp php.ini-production /etc/php.ini

run cd /php-5.5.38 && cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

run chmod +x /etc/init.d/php-fpm && chkconfig --add php-fpm && chkconfig php-fpm on

run cp /usr/local/php5.5/etc/php-fpm.conf.default /usr/local/php5.5/etc/php-fpm.conf

run sed -i 's*;pid = run/php-fpm.pid*pid = run/php-fpm.pid*g' /usr/local/php5.5/etc/php-fpm.conf

run sed -i 's/user = nobody/user = nginx/g' /usr/local/php5.5/etc/php-fpm.conf

run sed -i 's/group = nobody/group = nginx/g' /usr/local/php5.5/etc/php-fpm.conf

run sed -i 's/pm.max_children = 5/pm.max_children = 50/g' /usr/local/php5.5/etc/php-fpm.conf

run sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' /usr/local/php5.5/etc/php-fpm.conf

run sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /usr/local/php5.5/etc/php-fpm.conf

run sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 30/g' /usr/local/php5.5/etc/php-fpm.conf

expose 9000

expose 80

3、构建镜像

?

1
[root@docker-lnmp nginx]# docker build -t "centos:nginx-php" .

查看镜像列表

docker部署lnmp-wordpress的实现步骤

4、创建容器并运行

?

1

2
[root@docker-lnmp nginx]# docker run -dit -p 80:80 -m 500m --memory-swap 1g 3efb4e2c79b5 /bin/bash

49c5b69ce7012579f4b024ef6be88ff5de8057ccc7f81583fcf04f1c3ec6a79c

查看容器列表

docker部署lnmp-wordpress的实现步骤

5、开启服务

?

1

2

3

4

5

6
[root@docker-lnmp nginx]# docker exec -it 49c5b69ce701 /bin/bash

[root@49c5b69ce701 /]# /etc/init.d/php-fpm start && nginx

[root@49c5b69ce701 /]# netstat -antp | grep php

tcp 0 0 127.0.0.1:9000 0.0.0.0:* listen 32/php-fpm: master

[root@49c5b69ce701 /]# netstat -antp | grep nginx

tcp 0 0 0.0.0.0:80 0.0.0.0:* listen 39/nginx: master pr

验证一下:

docker部署lnmp-wordpress的实现步骤

五、部署mysql

1、创建mysql的dockerfile文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19
[root@docker-lnmp mysql]# vim dockerfile

from docker.io/centos:7

run yum -y install gcc gcc-c++ make autoconf make cmake wget

run groupadd mysql; useradd -r -m -u 3306 -s /sbin/nologin -g mysql mysql

run mkdir /usr/local/mysql; mkdir /data/mysql -pv

run yum install gcc gcc-c++ ncurses-devel bison bison-devel -y

run wget -c http://dev.mysql.com/get/downloads/mysql-5.6/mysql-5.6.29.tar.gz

run tar xf mysql-5.6.29.tar.gz -c /usr/local/src/

workdir /usr/local/src/mysql-5.6.29

run cmake . -dcmake_install_prefix=/usr/local/mysql -dmysql_datadir=/data/mysql -dsysconfdir=/etc -dmysql_tcp_port=3306 -dmysql_unix_addr=/var/lib/mysql/mysql.sock -dwith_innobase_storage_engine=1 -dwith_myisam_storage_engine=1 -denabled_local_infile=1 -dwith_partition_storage_engine=1 -ddefault_charset=utf8 -dextra_charsets=all -ddefault_collation=utf8_general_ci -dwith-mysqld-ldflags=-all-static -dwith-client-ld-flags=-all-static -dwith_debug=0 && gmake && gmake install

run chown -r root:mysql /usr/local/mysql/ && chown -r mysql:mysql /data/mysql

run chmod 755 /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh

run /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh --basedir=/usr/local/mysql --datadir=/data/mysql --no-defaults --user=mysql

run cp /usr/local/src/mysql-5.6.29/support-files/my-default.cnf /etc/my.cnf

run cp /usr/local/src/mysql-5.6.29/support-files/mysql.server /etc/init.d/mysqld

run chmod 775 /etc/init.d/mysqld && /etc/init.d/mysqld start

run echo -e '#!/bin/bash\\nexport path=$path:/usr/local/mysql/bin' >/etc/profile.d/mysql.sh

run source /etc/profile

expose 3306

2、构建镜像

?

1
[root@docker-lnmp mysql]# docker build -t "centos:mysql-5.6" .

查看镜像列表

docker部署lnmp-wordpress的实现步骤

3、创建容器并运行

?

1

2
[root@docker-lnmp mysql]# docker run -dit -p 3306:3306 --device-write-bps /dev/sda:10m 704e5b978518 /bin/bash

960645a296e3e8795c344a8037b0641f8b5baf8e2214453214359071480c379d

查看容器列表

docker部署lnmp-wordpress的实现步骤

4、启动服务

?

1

2

3
[root@docker-lnmp mysql]# docker exec -it 960645a296e3 /bin/bash

[root@960645a296e3 mysql-5.6.29]# /etc/init.d/mysqld start

starting mysql............ success!

5、数据库授权

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18
#修改密码

[root@960645a296e3 mysql-5.6.29]# mysql -uroot -p123456

warning: using a password on the command line interface can be insecure.

error 1045 (28000): access denied for user 'root'@'localhost' (using password: yes)

[root@960645a296e3 mysql-5.6.29]# mysqladmin -u root -p password

enter password:

new password:

confirm new password:

#授权

[root@960645a296e3 mysql-5.6.29]# mysql -uroot -p123456

mysql> create database wordpress default charset utf8 collate utf8_general_ci; #创建wordpress表

query ok, 1 row affected (0.00 sec)

mysql> grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456' with grant option; #授权

query ok, 0 rows affected (0.00 sec)

mysql> flush privileges; #刷新权限

query ok, 0 rows affected (0.01 sec)

访问:http://192.168.238.133/wordpress/index.php

docker部署lnmp-wordpress的实现步骤

到此这篇关于docker部署lnmp-wordpress的实现步骤的文章就介绍到这了,更多相关docker部署lnmp-wordpress内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://blog.csdn.net/wuhao930715/article/details/120119754

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 行业资讯 docker部署lnmp-wordpress的实现步骤 https://www.kuaiidc.com/63779.html

相关文章

发表评论
暂无评论