当前位置: 首页 > news >正文

潍坊网站制作保定公司电话欧洲站fba

潍坊网站制作保定公司电话,欧洲站fba,石家庄做外贸的网站建设,WordPress邮件代发这里写目录标题 一、项目背景和要求二、项目环境三、部署过程1)创建自定义网络2)部署NginxStep1 创建工作目录并上传相关软件包Step2 编写Dockerfile文件Step3 编写配置文件nginx.confStep4 创建nginx镜像Step5 运行容器 3)部署MysqlStep1 创…

这里写目录标题

  • 一、项目背景和要求
  • 二、项目环境
  • 三、部署过程
    • 1)创建自定义网络
    • 2)部署Nginx
      • Step1 创建工作目录并上传相关软件包
      • Step2 编写Dockerfile文件
      • Step3 编写配置文件nginx.conf
      • Step4 创建nginx镜像
      • Step5 运行容器
    • 3)部署Mysql
      • Step1 创建工作目录
      • Step2 编写Dockerfie文件(多阶段构建)
      • Step3 编写配置文件
      • Step4 创建镜像
      • Step5 使用新的镜像运行容器并测试
    • 4)PHP安装
      • Step1 创建工作目录并上传代码包
      • Step2 编写相关配置文件
      • Step3 编写Dockerfile文件
      • Step4 创建php镜像
      • Step5 运行容器
    • 5)数据库授权
    • 6)运行Wordpress

一、项目背景和要求

公司在实际的生产环境中,需要使用Docker 技术在一台主机上创建LNMP服务并运行Wordpress网站平台

然后对此服务进行相关的性能调优和管理工作

二、项目环境

主机操作系统IP地址主要软件
宿主机CentOS 7.3 x86_64192.168.2.106Docker 19.03
Nginx容器172.18.0.10
Mysql容器172.18.0.20
PHP容器172.18.0.30

三、部署过程

1)创建自定义网络

#关闭防火墙和selinux
systemctl stop firewalld 
systemctl disable firewalld
setenforce 0
#创建自定义网络
docker network create --subnet=172.18.0.0/16 --opt "com.docker.network.bridge.name"="docker1"  mynetwork

在这里插入图片描述

2)部署Nginx

容器IP:172.18.0.10

Step1 创建工作目录并上传相关软件包

mkdir /opt/nginx
cd /opt/nginx

在这里插入图片描述

mkdir /opt/nginx/html
tar zxvf wordpress-4.9.4-zh_CN.tar.gz -C /opt/nginx/html

Step2 编写Dockerfile文件

vim DockerfileFROM centos:7 AS first
MAINTAINER this is nginx image <byyb 20231021>ADD nginx-1.24.0.tar.gz /opt/
RUN yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make && \
useradd -M -s /sbin/nologin nginx && \
cd /opt/nginx-1.24.0 && \
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && \
make && \
make installFROM centos:7
COPY --from=first /usr/local/nginx/ /usr/local/nginx/
RUN useradd -M -s /sbin/nologin nginxEXPOSE 80
EXPOSE 443CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]vim DockerfileFROM centos:7 AS first
#作为二阶段的参数  AS 
MAINTAINER this is nginx image <byyb 20231021>
#ADD会自动解压
ADD nginx-1.24.0.tar.gz /opt/
#一阶段
RUN yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make && \
useradd -M -s /sbin/nologin nginx && \
cd /opt/nginx-1.24.0 && \
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && \
make -j2 && make install 
#二级构造(二阶段)
FROM centos:7
COPY --from=first /usr/local/nginx /usr/local/nginx/
RUN useradd -M -s /sbin/nologin nginx EXPOSE 80
EXPOSE 443CMD ["/usr/local/sbin/nginx", "-g", "daemon off;"]

Step3 编写配置文件nginx.conf

vim nginx.conf#user  nobody;
worker_processes  2;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {use epollworker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       80;server_name  www.byyb.com;charset utf-8;#access_log  logs/host.access.log  main;location / {root   html;index  index.php index.html;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ {root           html;fastcgi_pass   172.18.0.30:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;include        fastcgi_params;}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}}

Step4 创建nginx镜像

docker build -t nginx:lnmp .

在这里插入图片描述

Step5 运行容器

#以nginx容器 在后台运行镜像
docker run -d --name nginx -p 80:80 -v /opt/nginx/html:/usr/local/nginx/html --net mynetwork --ip 172.18.0.10 nginx:lnmp- "-d" 表示以后台运行的方式启动容器。
- "--name nginx" 设置容器的名称为 "nginx"。
- "-p 80:80" 将主机的 80 端口映射到容器的 80 端口,使得可以通过主机的 IP 地址访问 NGINX 服务器。
- "-v /opt/nginx/html:/usr/local/nginx/html" 将主机上的 /opt/nginx/html 目录与容器内的 /usr/local/nginx/html 目录进行挂载,实现文件共享。
- "--net mynetwork --ip 172.18.0.10" 将容器连接到名为 "mynetwork" 的用户自定义网络,并指定容器的 IP 地址为 172.18.0.10。
- "nginx:lnmp" 指定了要使用的 NGINX 服务器镜像和标签。

在这里插入图片描述

3)部署Mysql

容器IP 为 172.168.0.20

多阶段构造

Step1 创建工作目录

mkdir /opt/mysqld
cd /opt/mysqld上传 mysql-boost-5.7.20.tar.gz 到 /opt/mysqld 目录中

Step2 编写Dockerfie文件(多阶段构建)

vim Dockerfile# 第一阶段 - 构建阶段
FROM centos:7 AS builder
MAINTAINER this is mysql image <byyb>
RUN yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake make
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_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 && make install# 第二阶段 - 配置阶段
FROM centos:7 AS config
COPY --from=builder /usr/local/mysql /usr/local/mysql
COPY my.cnf /etc/
ENV PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
RUN useradd -M -s /sbin/nologin  mysql && \
chown mysql:mysql /etc/my.cnf && \
chown -R mysql:mysql /usr/local/mysql/ && \
/usr/local/mysql/bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
EXPOSE 3306
CMD ["/usr/local/mysql/bin/mysqld"]

Step3 编写配置文件

vim my.cnf
[client]
port = 3306
socket = /usr/local/mysql/mysql.sock[mysql]
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
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

Step4 创建镜像

docker build -t mysql:lnmp .
#名称:标签

在这里插入图片描述
在这里插入图片描述

Step5 使用新的镜像运行容器并测试

docker run --name=mysql -d --privileged -v /usr/local/mysql --net mynetwork --ip 172.18.0.20 mysql:lnmp- `--name=mysql`:指定容器的名称为mysql。
- `-d`:以后台模式运行容器。
- `--privileged`:在容器内部启用特权模式,可以执行一些底层操作。
- `-v /usr/local/mysql`:将宿主机的`/usr/local/mysql`目录挂载到容器的相应位置。
- `--net mynetwork`:将容器连接到名为mynetwork的网络。

在这里插入图片描述

4)PHP安装

容器IP:172.168.0.30

Step1 创建工作目录并上传代码包

mkdir /opt/php
cd /opt/php上传 php-7.1.10.tar.bz2 到 /opt/php 目录中

在这里插入图片描述

Step2 编写相关配置文件

php-fpm.conf

www.conf

php.ini
在这里插入图片描述

Step3 编写Dockerfile文件

vim DockerfileFROM centos:7 AS first
MAINTAINER this is php image <byyb 20231021>
ADD php-7.1.10.tar.bz2 /opt/
RUN yum -y install 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 && \
cd /opt/php-7.1.10/ && \
./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 2 && make install && \
cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini && \
sed -i -e '939c date.timezone = Asia/Shanghai'  -e '1170c mysqli.default_socket = /usr/local/mysql/mysql.sock' /usr/local/php/lib/php.ini && \
cd /usr/local/php/etc/ && \
cp  php-fpm.conf.default php-fpm.conf && \
sed -i '17 s/^;//' php-fpm.conf && \
cd /usr/local/php/etc/php-fpm.d/ && \
cp www.conf.default www.conf && \
sed -i -e '23c user = nginx' -e '24c group = nginx' -e '36c listen = 192.168.3.103:9000' -e '62c listen.allowed_clients = 192.168.3.106' www.confFROM centos:7
COPY --from=first /usr/local/php/ /usr/local/php/
RUN yum -y install gd \
libjpeg-devel \
libpng-devel \
freetype-devel \
libxml2-devel \
zlib-devel \
curl-devel \
openssl-devel && \
useradd -M -s /sbin/nologin nginx && \
rm -rf /var/cache/yum/*
EXPOSE 9000
CMD ["/usr/local/php/sbin/php-fpm", "-F"]

Step4 创建php镜像

docker build -t php:lnmp .

在这里插入图片描述

Step5 运行容器

docker run --name=php -d -p 9000:9000 --volumes-from mysql --volumes-from nginx --net mynetwork --ip 172.18.0.30 php:lnmp

在这里插入图片描述

5)数据库授权

docker exec -it mysql /bin/bash

在这里插入图片描述

mysqlcreate database wordpress;grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' identified by 'abc123';
flush privileges;

在这里插入图片描述

6)运行Wordpress

浏览器访问:
http://192.168.2.105/wordpress/index.php

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

http://www.ho-use.cn/article/3449.html

相关文章:

  • 沧州市网站制作百度网盘官网
  • wordpress字不能显示图片下载班级优化大师并安装
  • 一个网站建设需要多少人力百度推广怎么做最好
  • 广西城乡和建设厅网站青岛网站建设与设计制作
  • 兴义网站开发公司百度指数下载手机版
  • 日照营销型网站建设最让顾客心动的促销活动
  • 江苏易销 网站建设百度平台客服怎么联系
  • 做网站如何容易被百度抓取数据分析网官网
  • 一个网站的构建网络推广发展
  • 香港主机网站速度自媒体推广
  • 公司网站404汕头seo
  • 外贸网站制作公司技能培训学校
  • 网站开发运营维护方案建议推广一款app的营销方案
  • 网站制作中心新闻热点
  • 成都网站优化排名推广成都最新热门事件
  • 草桥有做网站公司吗网盘网页版
  • 网站策划图关键词歌词图片
  • 内销机械做哪个网站好seo常用的工具
  • 别样网站建设全网热度指数
  • 陕西省建设网三类人员官网福州百度快速优化
  • 淘客网站免费开源源码线上广告宣传方式有哪些
  • 企业所得税计算公式怎么算百度seo是什么意思
  • 西安网站的设计说明seo评测论坛
  • 教做家常菜的网站杭州seo推广优化公司
  • 电子商务网站开发综合实训报告app拉新项目
  • 什么网站做h5不收费百度搜索量最大的关键词
  • it网站设计网络营销成功案例
  • net网站开发是什么最能打动顾客的十句话
  • 济南建设厅网站免费的h5制作网站模板
  • 网站建设栏目设计2023年新闻热点事件