目录

一、项目模拟

1. 项目环境

2. 服务器环境

3.任务需求

二、Linux 系统基础镜像

三、Nginx

1. 建立工作目录

2. 编写 Dockerfile 脚本

3. 准备 nginx.conf 配置文件

4. 生成镜像

5. 创建自定义网络

6. 启动镜像容器

7. 验证 nginx

四、Mysql

1. 建立工作目录

2. 编写 Dockerfile

3. 准备 my.cnf 文件

4. 生成镜像

5. 启动镜像容器

6. 验证 mysql

五、Php

1. 建立工作目录

2. 编写 Dockerfile 脚本

3. 准备 php.ini、php-fpm.conf、www.conf 配置文件

3.1 php.ini

3.2 php-fpm.conf

3.3 www.conf

4. 生成镜像

5. 启动镜像容器

6. 验证 php

六、启动 wordpress 服务

1. mysql 授权

2. 浏览器访问测试

一、项目模拟

1. 项目环境

公司在实际的生产环境中,需要使用 Docker 技术在一台主机上创建 LNMP 服务并运行 Wordpress 网站平台。然后对此服务进行相关的性能调优和管理工作。

所有安装包下载:

wget http://101.34.22.188/lnmp_wordpress/mysql-boost-5.7.20.tar.gz
wget http://101.34.22.188/lnmp_wordpress/nginx-1.12.0.tar.gz
wget http://101.34.22.188/lnmp_wordpress/php-7.1.10.tar.bz2
wget http://101.34.22.188/lnmp_wordpress/wordpress-4.9.4-zh_CN.tar.gz
> 或者
wget -r -np http://101.34.22.188/lnmp_wordpress/

2. 服务器环境

容器 操作系统 IP地址 主要软件
nginx CentOS 7 172.111.0.10 Docker-Nginx
mysql CentOS 7 172.111.0.20 Docker-Mysql
php CentOS 7 172.111.0.30 Docker-php

3.任务需求

  • 使用 Docker 构建 LNMP 环境并运行 Wordpress 网站平台
  • 限制 Nginx 容器最多使用 500MB 的内存和 1G 的 Swap
  • 限制 Mysql 容器写 /dev/sda 的速率为 10 MB/s
  • 将所有容器进行快照,然后将 Docker 镜像打包成 tar 包备份到本地

二、Linux 系统基础镜像

[root@docker ~]# systemctl disable --now firewalld
[root@docker ~]# setenforce 0
setenforce: SELinux is disabled
[root@docker ~]# docker pull centos:7
#从公有仓库中下载 centos7 作为系统基础镜像
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
centos       7         eeb6ee3f44bd   4 weeks ago   204MB

三、Nginx

1. 建立工作目录

[root@docker ~]# mkdir /opt/nginx
[root@docker ~]# cd /opt/nginx
[root@docker nginx]# rz -E
rz waiting to receive.
#上传 nginx 安装包 nginx-1.12.0.tar.gz
[root@docker nginx]# rz -E
rz waiting to receive.
#上传 wordpress 服务包 wordpress-4.9.4-zh_CN.tar.gz

2. 编写 Dockerfile 脚本

[root@docker nginx]# vim DockerfileFROM centos:7
MAINTAINER this is nginx image <lnmp>
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make;useradd -M -s /sbin/nologin nginx
ADD nginx-1.12.0.tar.gz /usr/local/src/
WORKDIR /usr/local/src/nginx-1.12.0
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module;make -j 4 && make install
ENV PATH /usr/local/nginx/sbin:$PATH
ADD nginx.conf /usr/local/nginx/conf/
ADD wordpress-4.9.4-zh_CN.tar.gz /usr/local/nginx/html
RUN chmod 777 -R /usr/local/nginx/html/
EXPOSE 80
VOLUME [ "/usr/local/nginx/html/" ]
CMD [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]

3. 准备 nginx.conf 配置文件

[root@docker nginx]# ls
Dockerfile  nginx-1.12.0.tar.gz  nginx.conf  wordpress-4.9.4-zh_CN.tar.gz
[root@docker nginx]# egrep -v "^(.)*#(.)*$" nginx.conf | grep -v "^$"
worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;charset utf-8;location / {root   html;index  index.html index.php;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}location ~ \.php$ {root           html;fastcgi_pass   172.111.0.30:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;include        fastcgi_params;}}
}

4. 生成镜像

[root@docker nginx]# docker build -t nginx:lnmp .
[root@docker nginx]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        lnmp      35a6404fcfa1   5 seconds ago   522MB
centos       7         eeb6ee3f44bd   4 weeks ago     204MB

5. 创建自定义网络

[root@docker nginx]# docker network create --subnet=172.111.0.0/16 --opt "com.docker.network.bridge.name"="docker1" mynetwork
0cbe1bd0bd782bf1c8e69916d99427970196de22deb312f970e01030406d9b45
[root@docker nginx]# docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
dd7a55d01f86   bridge      bridge    local
63ddf1e359e9   host        host      local
0cbe1bd0bd78   mynetwork   bridge    local
a4b66a8a6cd2   none        null      local
[root@docker nginx]# ifconfig docker1
docker1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 172.111.0.1  netmask 255.255.0.0  broadcast 172.111.255.255ether 02:42:40:dc:e8:1d  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

6. 启动镜像容器

[root@docker nginx]# docker run -d --name nginx -p 80:80 -m 500m --memory-swap 1g --net mynetwork --ip 172.111.0.10 nginx:lnmp
57616d4ea225c82a50b731472b003dabfd681e8dc6c6ef85a9bb2f665354334b
[root@docker nginx]# docker ps -a
CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS          PORTS                               NAMES
57616d4ea225   nginx:lnmp   "/usr/local/nginx/sb…"   13 seconds ago   Up 12 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx
[root@docker nginx]# docker inspect nginx
······"IPv4Address": "172.111.0.10"
······

7. 验证 nginx

[root@docker nginx]# curl http://192.168.223.30:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>

四、Mysql

1. 建立工作目录

[root@docker nginx]# mkdir /opt/mysql
[root@docker nginx]# cd /opt/mysql/
[root@docker mysql]# rz -E
rz waiting to receive.
#传入mysql安装包mysql-boost-5.7.20.tar.gz

2. 编写 Dockerfile

[root@docker mysql]# vim Dockerfile FROM centos:7
MAINTAINER this is mysql image <lnmp>
RUN yum -y install ncurses ncurses-devel bison cmake pcre-devel zlib-devel gcc gcc-c++ make;useradd -M -s /sbin/nologin mysql
ADD mysql-boost-5.7.20.tar.gz /usr/local/src/
WORKDIR /usr/local/src/mysql-5.7.20/
RUN cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1;make -j4;make install
ADD my.cnf /etc/my.cnf
EXPOSE 3306
RUN chown -R mysql:mysql /usr/local/mysql/;chown mysql:mysql /etc/my.cnf
WORKDIR /usr/local/mysql/bin/
RUN ./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data;cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/;systemctl enable mysqld
ENV PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
VOLUME [ "/usr/local/mysql" ]
CMD ["/usr/sbin/init"]

3. 准备 my.cnf 文件

[root@docker mysql]# vim my.cnf[client]
port = 3306
socket=/usr/local/mysql/mysql.sock[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

4. 生成镜像

[root@docker mysql]# docker build -t mysql:lnmp .
[root@docker mysql]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
mysql        lnmp      49da8f7299af   3 minutes ago    9.98GB
nginx        lnmp      35a6404fcfa1   17 minutes ago   522MB
centos       7         eeb6ee3f44bd   4 weeks ago      204MB

5. 启动镜像容器

[root@docker mysql]# docker run --name=mysql -d --privileged --device-write-bps /dev/sda:10M -v /usr/local/mysql --net mynetwork --ip 172.111.0.20 mysql:lnmp
ebafbdc1c4dcfc49406a7db8ee5a2afc54f5b4203d11ad374dba885ec4ef5afd
[root@docker mysql]# docker ps -a
CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS          PORTS                               NAMES
ebafbdc1c4dc   mysql:lnmp   "/usr/sbin/init"         11 seconds ago   Up 10 seconds   3306/tcp                            mysql
57616d4ea225   nginx:lnmp   "/usr/local/nginx/sb…"   17 minutes ago   Up 17 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx

6. 验证 mysql

[root@docker mysql]# docker exec -it mysql bash
[root@ebafbdc1c4dc bin]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: activating (start) since Sun 2022-07-20 01:05:59 UTC; 42s ago
······

五、Php

1. 建立工作目录

[root@docker mysql]# mkdir ../php
[root@docker mysql]# cd ../php/
[root@docker php]# rz -E
rz waiting to receive.
#传入php安装包php-7.1.10.tar.bz2

2. 编写 Dockerfile 脚本

[root@docker php]# vim Dockerfile FROM centos:7
MAINTAINER this is php image <lnmp>
RUN yum install -y gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel \
gcc gcc-c++ make pcre-devel;useradd -M -s /sbin/nologin nginx
ADD php-7.1.10.tar.bz2 /usr/local/src/
WORKDIR /usr/local/src/php-7.1.10
RUN ./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip ; make -j 4 ; make install
ENV PATH /usr/local/php/bin:/usr/local/php/sbin:$PATH
ADD php.ini     /usr/local/php/lib/
ADD php-fpm.conf /usr/local/php/etc/
ADD www.conf /usr/local/php/etc/php-fpm.d/
EXPOSE 9000
CMD /usr/local/php/sbin/php-fpm -F

3. 准备 php.ini、php-fpm.conf、www.conf 配置文件

3.1 php.ini

该配置文件模板位于安装目录的 php-7.1.10/php.ini-development 位置

[root@docker php]# vim php.ini#939行,取消注释,修改
date.timezone = Asia/Shanghai
#1170行,修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
[root@docker php]# egrep -v "^;" php.ini | egrep -v "^$"
[PHP]
engine = On
short_open_tag = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = -1
disable_functions =
disable_classes =
zend.enable_gc = On
expose_php = On
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = On
html_errors = On
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
default_charset = "UTF-8"
doc_root =
user_dir =
enable_dl = Off
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[CLI Server]
cli_server.color = On
[Date]
date.timezone = Asia/Shanghai
[filter]
[iconv]
[intl]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
[Phar]
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = On
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[Interbase]
ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
ibase.dateformat = "%Y-%m-%d"
ibase.timeformat = "%H:%M:%S"
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.default_socket = /usr/local/mysql/mysql.sock
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = On
[OCI8]
[PostgreSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
session.save_handler = files
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form="
session.sid_bits_per_character = 5
[Assertion]
zend.assertions = 1
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
[mcrypt]
[dba]
[opcache]
[curl]
[openssl]

3.2 php-fpm.conf

该配置文件位于 /usr/local/php/etc/php-fpm.conf.default

[root@docker php]# vim php-fpm.conf #17行,删除注释符号“;”
pid = run/php-fpm.pid
[root@docker php]# egrep -v "^;" php-fpm.conf | egrep -v "^$"
[global]
pid = run/php-fpm.pid
include=/usr/local/php/etc/php-fpm.d/*.conf

3.3 www.conf

该配置文件位于 usr/local/php/etc/php-fpm.d/www.conf.default

[root@docker php]# vim www.conf #23、24行,修改用户和组
user = nginx
group = nginx
#36行,修改监听IP和端口为容器IP:9000端口
listen = 172.111.0.30:9000
[root@docker php]# egrep -v "^;" www.conf | egrep -v "^$"
[www]
user = nginx
group = nginx
listen = 172.111.0.30:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

4. 生成镜像

[root@docker php]# docker build -t php:lnmp .
[root@docker php]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
php          lnmp      985842f961f1   About a minute ago   1.2GB
mysql        lnmp      49da8f7299af   12 minutes ago       9.98GB
nginx        lnmp      35a6404fcfa1   26 minutes ago       522MB
centos       7         eeb6ee3f44bd   4 weeks ago          204MB

5. 启动镜像容器

[root@docker php]# docker run -itd --name php --net mynetwork --ip 172.111.0.30 -p 9000:9000 --volumes-from nginx --volumes-from mysql php:lnmp
954d8ecdd6c7d47270fe15ce4ad6db9c4a5396f42f9d111315ecee69358a9566
[root@docker php]# docker ps -a
CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS          PORTS                                       NAMES
954d8ecdd6c7   php:lnmp     "/bin/sh -c '/usr/lo…"   15 seconds ago   Up 14 seconds   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   php
ebafbdc1c4dc   mysql:lnmp   "/usr/sbin/init"         8 minutes ago    Up 8 minutes    3306/tcp                                    mysql
57616d4ea225   nginx:lnmp   "/usr/local/nginx/sb…"   26 minutes ago   Up 26 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp           nginx

6. 验证 php

[root@docker php]# docker exec -it php bash
[root@954d8ecdd6c7 php-7.1.10]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.0 113028  9536 pts/0    Ss+  06:00   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nginx         7  0.0  0.0 113028  5780 pts/0    S+   06:00   0:00 php-fpm: pool www
nginx         8  0.0  0.0 113028  5784 pts/0    S+   06:00   0:00 php-fpm: pool www
root          9  0.2  0.0  11828  1888 pts/1    Ss   06:01   0:00 bash
root         23  0.0  0.0  51732  1728 pts/1    R+   06:01   0:00 ps -aux

六、启动 wordpress 服务 

1. mysql 授权

进入 mysql 容器

[root@ebafbdc1c4dc bin]# mysql -u root -p
Enter password:
#初始密码为空
mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)mysql> grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

2. 浏览器访问测试

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

Docker 搭建 LNMP + Wordpress(详细步骤)相关推荐

  1. Docker 搭建 LNMP + Wordpress

    文章目录 一.项目介绍 1. 项目环境 2. 服务器环境 3. 任务需求 二.Nginx 1. 建立工作目录 2. 编写 Dockerfile 脚本 3. 准备 nginx.conf 配置文件 4. ...

  2. docker搭建 LNMP 环境

    一.准备镜像 安装完docker后,更换完镜像源(docker的安装十分简单自行百度即可) 打开/etc/docker目录下的daemon.json 添加以下内容 { "registry-m ...

  3. 通过docker搭建lamp+wordpress+ELK监控

    实验要求:docker搭建LAMP +wordpress,有监控,日志放在另外一台服务器上, 使用ELK进行日志收集展示 192.168.100.128 lamp+kabana 192.168.100 ...

  4. docker安装redis(详细步骤)

    docker安装redis(详细步骤) 一次docker安装redis 一次docker安装redis 1. 执行docker search redis搜索镜像 2. 执行docker pull re ...

  5. Docker 安装和卸载详细步骤

    Docker 安装和卸载详细步骤 文章目录 Docker 安装和卸载详细步骤 一.Docker的安装 二.Docker的卸载 三. 配置阿里云镜像加速 一.Docker的安装 查看系统的内核: una ...

  6. docker搭建lnmp环境

    1.搭建lnmp网站平台 1.创建mysql数据库容器 docker run -it -d --name lnmp_mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD= ...

  7. Docker - 搭建LNMP环境 - 学习/实践

    1.应用场景 主要用于学习使用docker搭建开发环境. 学习容器化技术. 以及快速搭建开发环境, 同时保持团队之间开发/测试环境相同~~~~ 2.学习/操作 1.文档阅读 Docker - 学习/实 ...

  8. 不花钱 三分钟就可以搭建商城的详细步骤

    不花钱,免费就可以搭建线上商城?这是真的吗? 是的!没错!0成本.0基础.0审核,只需3分钟就可以搭建线上商城! [牛云微商城]根据企业的不同需求定制开发,尤其针对中小企业,无需企业营业执照.无需个体 ...

  9. CentOS7搭建LNMP+WordPress一篇搞定

    零.关于本文 本文首次完成于2019年5月12日,经历多次修改.本文所有的参考文献,均以超链接的形式给出.考虑到网上的部分教程不够完整,有的已经过时,我将我搭建环境的方法记录下来. 这篇文章适合: 希 ...

  10. 使用docker搭建LNMP开发环境

    宿主机环境 系统:ubuntu 18.04 docker版本:18.03.1-ce docker的安装请自行参考官方文档. 前言 这篇文章用于介绍如何使用docker在ubuntu系统上搭建一个LNM ...

最新文章

  1. Log4j2架构分析与实战
  2. kkfileview v2.0 发布,文件在线预览项目方案
  3. 利用Codejock创建TaskPanel(ToolBox) - 2
  4. 使用Java复制文件及显示进度
  5. 拼多多上货精灵——图文教程
  6. RFID医疗耗材柜管理系统-高值耗材管理系统-杭州东识科技
  7. FPGA数字时钟计数器
  8. 安装Activemq5.13.2异常
  9. debian apache2不执行php,Debian下Apache2的安装与配置
  10. uoj problem 11 ydc的大树
  11. HTTP、FTP状态码 汇总
  12. 帝国理工学院Stefan Vlask教授招收机器学习方向全奖博士生
  13. 计算机文件丢失系统无法启动,因文件的丢失或者损坏导致系统无法启动的解决方法...
  14. CCNA思科的一些基础知识
  15. 用C# ASP.NET MVC 实现WebSocket
  16. Java偏向锁与轻量级锁
  17. linux 给u盘 变更名字,u盘怎么改名字|在电脑修改U盘名字的方法
  18. c++乘法运算顺序问题
  19. 笔记本键盘进水了怎么办
  20. python平衡二叉排序树

热门文章

  1. Maple中solve和dsolve的区别:solve方程解,dsolve常微分方程解
  2. Git分支设计与CI/CD
  3. C++ 动态库、静态库、__declspec(dllexport)、符号隐藏、gcc visibility (“default“)
  4. 交换机与路由器登录密码破解
  5. python adf检验_ADF检验结果怎么看?
  6. 金仓数据库KingbaseES客户端连接问题
  7. Iterator死循环
  8. 计算机共享网络热点,手把手教你在win7电脑中设置共享wifi热点
  9. 兰州理工大学计算机考研好考吗,兰州理工大学考研难吗
  10. cad lisp 画梯形_Lisp自动画梯形_CAD lisp 求助一段代码实现自动画弧!