wordpress创建网站赚钱

bicheng/2026/1/24 13:11:57/文章来源:
wordpress创建网站,赚钱,海淀网站建设公司电话,货源之家官网1. 引言上两节我们通过简单的demo学习了docker的基本操作。这一节我们来一个进阶学习#xff0c;完成ASP.NET Core MySql Nginx的容器化部署。本文是基于CentOS 7.4环境进行演示#xff0c;示例项目可以访问Docker.NetCore.MySql进行下载。2. Hello MySQL同样我们还是以循序… 1. 引言上两节我们通过简单的demo学习了docker的基本操作。这一节我们来一个进阶学习完成ASP.NET Core MySql Nginx的容器化部署。本文是基于CentOS 7.4环境进行演示示例项目可以访问Docker.NetCore.MySql进行下载。2. Hello MySQL同样我们还是以循序渐进的方式来展开。首先来基于Docker来试玩一下MySQL。2.1. 创建MySql实例//拉取mysql镜像docker pull mysql$ docker images$REPOSITORY                           TAG                 IMAGE ID            CREATED             SIZEdocker.io/mysql                      latest              7d83a47ab2d2        13 days ago         408.2 MB//创建一个mysql实例$ docker run --name hello.mysql -e MYSQL_ROOT_PASSWORD123456 -d mysql$ docker ps CONTAINER ID        IMAGE      COMMAND                  CREATED             STATUS              PORTS          NAMESe21bbd84e0b5        mysql      docker-entrypoint.sh   3 minutes ago       Up 3 minutes        3306/tcp        hello.mysql下面我们直接在容器中连接到我们刚刚创建的mysql数据库$ docker exec -it hello.mysql \mysql -uroot -p123456 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 8Server version: 5.7.20 MySQL Community Server (GPL)Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type help; or \h for help. Type \c to clear the current input statement.mysql show databases; -------------------- | Database           | -------------------- | information_schema | | mysql              | | performance_schema | | sys                | --------------------4 rows in set (0.00 sec)2.2. 挂载数据卷上面创建的mysql实例其数据都在容器内部存储这样就暴露了一个问题如果容器销毁那么对应的数据库数据就会丢失。那如何持久化存储容器内数据呢我们可以通过挂载数据卷的方式来解决这一问题。//创建数据卷 $ docker volume create --name hello.dbhello.db //查看数据卷信息 $ docker volume inspect hello.db [{        Name: hello.db,        Driver: local,        Mountpoint: /var/lib/docker/volumes/hello.db/_data,            Labels: {},        Scope: local} ] // 挂载数据卷启动MySql实例 $ docker run --name hello.mysql \ -v hello.db:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD123456 -d mysql上面是使用使用了docker volume create命令创建了一个数据卷当然我们也可以自行挂载某个目录作为数据卷。3. 准备.NET CoreEFCoreMySql项目为了演示方便我准备了一个ASP.NET CoreEFCoreMySql的示例项目。其结构如下所示 是基于.NET Core Mvc模板项目其中定义了一个Product实体并通过ProductsController暴露WebApi接口。核心代码如下Product实体类public class Product{      public int ProductId { get; set; }        public string Name { get; set; }     public decimal Price { get; set; }       public int StockQty { get; set; } }DbContext类public class MySqlDbContext : DbContext{    public MySqlDbContext (DbContextOptionsMySqlDbContext options): base(options)    {}    public DbSetProduct Products { get; set; } }数据库初始化类public class DbInitializer{    public static void Initialize(MySqlDbContext context)    {context.Database.EnsureCreated();          if (context.Products.Any()){                return;}             var products new Product[]{                   new Product{Nameiphone 6,Price5000,StockQty10 },                     new Product{Nameiphone 7,Price6000,StockQty10 },            new Product{Nameiphone 7 plus,Price7000,StockQty10 },            new Product{Nameiphone x,Price8000,StockQty10 }};context.Products.AddRange(products);context.SaveChanges();} }该数据库初始化类会在项目启动时运行。详细代码可参考Docker.NetCore.MySql。4. 基于示例项目进行实操演练4.1 安装Git并Clone示例项目$ yum install git $ git --version git version 1.8.3.1$ cd ~/demo $ git clone https://github.com/yanshengjie/Docker.NetCore.MySql.gitCloning into Docker.NetCore.MySql...remote: Counting objects: 155, done.remote: Compressing objects: 100% (125/125), done.remote: Total 155 (delta 42), reused 123 (delta 25), pack-reused 0Receiving objects: 100% (155/155), 534.30 KiB | 333.00 KiB/s, done. Resolving deltas: 100% (42/42), done.4.2. 构建镜像细心的你会发现项目中已经定义了Dockerfile所以我们可以直接使用docker build构建镜像。# cd Docker.NetCore.MySql[rootiZ288a3qazlZ Docker.NetCore.MySql]# lsappsettings.Development.json  docker-compose.yml           Program.cs             Viewsappsettings.json              Dockerfile                   proxy.conf             wwwrootbundleconfig.json             Docker.NetCore.MySql.csproj  README.mdControllers                   LICENSE                      ScaffoldingReadMe.txtData                          Models                       Startup.cs //构建镜像# docker build -t docker.netcore.mysql .Sending build context to Docker daemon 3.045 MBStep 1 : FROM microsoft/dotnet:latest --- 7d4dc5c258ebStep 2 : WORKDIR /app --- Using cache--- 98d48a4e278cStep 3 : COPY . /app --- 6b1bf8bb5261Removing intermediate container b86460477977Step 4 : RUN dotnet restore --- Running in 4e0a46f762bbRestoring packages for /app/Docker.NetCore.MySql.csproj...  Installing Microsoft.CodeAnalysis.Razor 2.0.0......  Restore completed in 216.83 ms for /app/Docker.NetCore.MySql.csproj. --- 4df70c77916eRemoving intermediate container 4e0a46f762bbStep 5 : EXPOSE 5000--- Running in 11b421b3bd3e--- 3506253060feRemoving intermediate container 11b421b3bd3eStep 6 : ENV ASPNETCORE_URLS http://*:5000--- Running in 201aabbab72c--- 7f29963a8d96Removing intermediate container 201aabbab72cStep 7 : ENTRYPOINT dotnet run --- Running in c79f73cba162--- 9d1fb6ee46cbRemoving intermediate container c79f73cba162Successfully built 9d1fb6ee46cb [rootiZ288a3qazlZ Docker.NetCore.MySql]# docker images docker.netcore.mysqlREPOSITORY             TAG                 IMAGE ID            CREATED             SIZEdocker.netcore.mysql   latest              9d1fb6ee46cb        13 seconds ago      1.756 GB4.3. 启动镜像并连接到指定数据库docker提供了--link参数用于在容器之间建立连接。下面我们实例化创建的镜像docker.netcore.mysql并命名容器名为hello.netcore.mysql并使用--link参数与我们文章开头建立的hello.mysql容器建立连接。# docker run --name hello.netcore.mysql --link hello.mysql:db -d -p 5000:5000 docker.netcore.mysql这里需要特别注意一下--linkhello.mysql:db这个参数就是告诉Docker容器需要使用hello.mysql容器并将其别名命名为db这样在hello.netcore.mysql这个容器中就可以使用db来作为提供mysql数据库服务的服务器。这也就是为什么我们.NET Core项目中连接字符串设置为serverdb;的原因。ConnectionStrings: {     MySql: serverdb;databaseMySqlDbContext;uidroot;pwd123456;   }//查看运行中容器列表# docker ps CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                    NAMES5cbfd27ebe2a        docker.netcore.mysql   dotnet run             2 minutes ago       Up 2 minutes        0.0.0.0:5000-5000/tcp   hello.netcore.mysql4dfa4159b669        mysql                  docker-entrypoint.sh   About an hour ago   Up About an hour    3306/tcp                 hello.mysql//访问api/products[rootiZ288a3qazlZ Docker.NetCore.MySql]# curl http://localhost:5000/api/products[{productId:1,name:iphone 6,price:5000.0000000000000000000000000,stockQty:10},{productId:2,name:iphone 7,price:6000.0000000000000000000000000,stockQty:10},{productId:3,name:iphone 7 plus,price:7000.0000000000000000000000000,stockQty:10},{productId:4,name:iphone x,price:8000.000000000000000000000000,stockQty:10}]从上图可知我们完成了.NET Core与MySql的连接。5. ASP.NET Core MySql Nginx结合上一篇文章.NET Core容器化之多容器应用部署Docker-Compose我们来使用docker-compose完成asp.net core mysql nginx的多容器部署。5.1. 定义 docker-compose.ymlversion: 2services:  db:    container_name: hello.db    environment:      MYSQL_ROOT_PASSWORD: 123456  volumes:- ./mysql:/var/lib/mysqlweb:    container_name: hello.web    build: .    depends_on:- db    links:- dbreverse-proxy:    container_name: hello.proxy    image: nginx    depends_on:- web    ports:- 9090:8080    volumes:- ./proxy.conf:/etc/nginx/conf.d/default.conf其中定义了三个服务db使用mysql镜像并挂载当前项目下的mysql文件夹来持久化存储。web基于当前项目构建的容器服务依赖于db服务。reverse-proxy使用nginx定义反向代理服务其中挂载了当前项目下的proxy.conf文件作为反向代理配置文件。其中proxy.conf的配置如下注意proxy_pass指定的url为http://web:5000)server {listen 8080;location / {    proxy_pass http://web:5000; } }5.2. 启动Compose在启动Compose之前建议清空上面创建的容器。也可以使用docker rm $(docker ps -qa)清除所有容器。//启动compose [rootiZ288a3qazlZ Docker.NetCore.MySql]# docker-compose up -dCreating network dockernetcoremysql_default with the default driverBuilding webStep 1 : FROM microsoft/dotnet:latest --- 7d4dc5c258ebStep 2 : WORKDIR /app --- Using cache--- 98d48a4e278cStep 3 : COPY . /app --- d41b32323c0fRemoving intermediate container 1259f5fb82bcStep 4 : RUN dotnet restore --- Running in d482e355de77Restoring packages for /app/Docker.NetCore.MySql.csproj...  Installing Microsoft.CodeAnalysis.Razor 2.0.0......  Restore completed in 216.83 ms for /app/Docker.NetCore.MySql.csproj. --- a0658008f161Removing intermediate container d482e355de77Step 5 : EXPOSE 5000--- Running in dc6eeb29fd5e--- a419314ece08Removing intermediate container dc6eeb29fd5eStep 6 : ENV ASPNETCORE_URLS http://*:5000--- Running in c1d1474b14a0--- 9cc13c549042Removing intermediate container c1d1474b14a0Step 7 : ENTRYPOINT dotnet run --- Running in efdf0e857a84--- 830ac11428cfRemoving intermediate container efdf0e857a84Successfully built 830ac11428cfCreating hello.db ... doneCreating hello.web ... doneCreating hello.proxy ... doneCreating hello.web ...Creating hello.proxy ... [rootiZ288a3qazlZ Docker.NetCore.MySql]# docker psCONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                            NAMES6253bf85682e        nginx                    nginx -g daemon off   33 seconds ago      Up 28 seconds       80/tcp, 0.0.0.0:9090-8080/tcp   hello.proxyea553a9e22f2        dockernetcoremysql_web   dotnet run             37 seconds ago      Up 32 seconds       5000/tcp                         hello.weba1f5aa981bfb        mysql                    docker-entrypoint.sh   38 seconds ago      Up 36 seconds       3306/tcp                         hello.db [rootiZ288a3qazlZ Docker.NetCore.MySql]# docker-compose ps   Name                 Command             State               Ports----------------------------------------------------------------------------------hello.db      docker-entrypoint.sh mysqld   Up      3306/tcphello.proxy   nginx -g daemon off;          Up      80/tcp, 0.0.0.0:9090-8080/tcphello.web     dotnet run                    Up      5000/tcp [rootiZ288a3qazlZ Docker.NetCore.MySql]# curl http://localhost:9090/api/products [{productId:1,name:iphone 6,price:5000.0000000000000000000000000,stockQty:10},{productId:2,name:iphone 7,price:6000.0000000000000000000000000,stockQty:10},{productId:3,name:iphone 7 plus,price:7000.0000000000000000000000000,stockQty:10},{productId:4,name:iphone x,price:8000.000000000000000000000000,stockQty:10}]上面的运行结果显示我们已经成功完成了ASP.NET CoreMySqlNginx的多容器应用部署。通过浏览器访问http:ipaddress:9090/api/products即可访问我们暴露的api。5.3. 数据库验证我们来验证一下数据库是否成功创建[rootiZ288a3qazlZ Docker.NetCore.MySql]# ls mysqlauto.cnf         client-key.pem         ib_logfile0  performance_schema  server-key.pem ca-key.pem       MySqlDbContext  ib_logfile1  private_key.pem     sys ca.pem           ib_buffer_pool         ibtmp1       public_key.pem client-cert.pem  ibdata1                mysql        server-cert.pem [rootiZ288a3qazlZ Docker.NetCore.MySql]# docker exec -it hello.db mysql -uroot -p123456mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 8Server version: 5.7.20 MySQL Community Server (GPL)Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type help; or \h for help. Type \c to clear the current input statement.mysql show databases; ----------------------- | Database              | ----------------------- | information_schema    | | MySqlDbContext  | | mysql                 | | performance_schema    | | sys                   | -----------------------5 rows in set (0.00 sec)mysql use MySqlDbContext; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -ADatabase changed mysql show tables; --------------------------------- | Tables_in_MySqlDbContext | --------------------------------- | Products                        | ---------------------------------1 row in set (0.00 sec)mysql select * from Products; ------------------------------------------------------------------------- | ProductId | Name          | Price       | StockQty | ------------------------------------------------------------------------- |         1 | iphone 6      | 5000.000000000000000000000000000000 |       10 | |         2 | iphone 7      | 6000.000000000000000000000000000000 |       10 | |         3 | iphone 7 plus | 7000.000000000000000000000000000000 |       10 | |         4 | iphone x      | 8000.000000000000000000000000000000 |       10 | -------------------------------------------------------------------------4 rows in set (0.00 sec)从上面的运行结果可知我们成功将项目文件夹下的mysql文件夹挂载到容器内部进行数据持久化。6. 最后本文通过先介绍如何基于Docker实例化MySQL容器再介绍如何通过挂载数据卷来持久化MySQL数据以及如何使用--Link参数进行容器之间的连接完成了.NET Core连接MySQL数据库。 最后使用Docker-Compose综合ASP.NET CoreMySQLNginx完成了容器化部署。下一节我们来介绍下如何使用Docker-Swarm进行集群部署。相关文章Docker容器中开始.NETCore之路.NET Core容器化Docker微服务革命容器化的应用、数据及其它一切ABP .Net Core Entity Framework迁移使用MySql数据库ASP.NET Core 2.0 EF6 Linux MySql混搭.NET Core容器化之多容器应用部署Docker-Compose原文地址:https://www.cnblogs.com/sheng-jie/p/8249660.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

局域网建设网站如何访问北京知名网站推广

快照器管理容器文件系统的快照。 可通过运行 ctr plugins ls 或 nerdctl info 查看可用的快照器。 核心快照器插件 通用: overlayfs(默认): OverlayFS. 该驱动程序类似于 Docker/Moby 的 "overlay2 "存储驱动程序&a…

枣庄住房和城乡建设厅网站网站文件下载系统

跨域 什么是跨域?非同源限制跨域解决方案CORSJSONP服务器进行第三方代理webscoketwindow.postMessage 什么是跨域? 同源策略:协议相同、域名相同、端口号相同 的两个页面被认为是同源。 由一个页面的 js 访问不同源的页面内容,被…

网站建设公司 壹宇网络定制网站制作

概述 在工作中,软件、代码、程序这三个词经常被换用,大部分情况下,这种混用都不会出问题,实际上,它们是不同的概念,有相交的部分,也有不同的地方。本文就简单阐述一下他们的区别。 在计算机领…

ps做的网站首页vps 网站权限

ASP.NET MVC 引入了 ModelBinder 技术,让我们可以在 Action 中以强类型参数的形式接收 Request 中的数据,极大的方便了我们的编程,提高了生产力。在查询 Action 中,我们可以将 Expression Trees 用作参数,通过自定义的…

网站知识架构腾讯云做wordpress太卡

视频链接: 视频 代码链接: 源码 在C#中,静态类(Static Class)和静态方法(Static Method)是面向对象编程中的重要概念。它们允许你创建不依赖于对象实例的方法和属性,而是直接通过类名来访问。 静态类 静…

营销网站制作企业虚拟主机网站建设步骤?

原文作者:心莱科技肖鑫简单来说机器学习的核心步骤在于“获取学习数据;选择机器算法;定型模型;评估模型,预测模型结果”,下面本人就以判断日报内容是否合格为例为大家简单的阐述一下C#的机器学习。第一步&a…

企业网站如何设计网页网站建设报价表模板

Python遥感开发之批量拼接 1 遥感图像无交错的批量拼接2 遥感图像有交错的批量拼接 前言:主要借助python实现遥感影像的批量拼接,遥感影像的批量拼接主要分为两种情况,一种是遥感图像无交错,另一种情况是遥感图像相互有交错。具体…

电子商务网站建设和运营1688阿里巴巴官网

全世界只有3.14 % 的人关注了爆炸吧知识首先来看你绝对干过的15件傻事儿,别不承认!把树叶弄成这样喝酸奶舔盖子吃完棒冰继续含着棍子咬拉链尝试用笔写一首歌比如《生日快乐》对着电风扇说话或喊叫刮墙壁上的油漆过斑马线只踩白色部分猫打哈欠时伸手指进去…

网页内容沧州网站优化

数据类型之Integer与int Java入门 基本数据类型 众所周知,Java是面向对象的语言,一切皆对象。但是为了兼容人类根深蒂固的数据处理习惯,加快常规数据的处理速度,提供了9种基本数据类型,他们都不具备对象的特性&#xf…

国内网站设计公司做网站是58好还是百度好

在HTML中&#xff0c;如果你想动态设置下拉选项&#xff08;<select>元素中的<option>&#xff09;&#xff0c;你可以使用JavaScript。以下是一个示例&#xff0c;展示了如何使用JavaScript来动态添加下拉选项&#xff1a; <!DOCTYPE html> <…

企业门户网站建设管理制度网站如何设置域名

目录 基本介绍 安装添加模块 模块配置指令 基本介绍 nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出&#xff0c;后续的请求不再经过应用程序处理&#xff0c;如php-fpm、django&#xff0c;大大的提升动态页面的速度。nginx只负责从memcach…

wordpress关闭多站点网站的站点的管理系统

跟着施磊老师做C项目&#xff0c;施磊老师_腾讯课堂 (qq.com) 一、基于muduo网络库开发服务器程序 组合TcpServer对象创建EventLoop事件循环对象的指针明确TcpServer构造函数需要什么参数,输出ChatServer的构造函数在当前服务器类的构造函数当中,注册处理连接的回调函数和处理…

网站设计排版怎么做长沙seo网站管理

每天五分钟分享一个电商模式&#xff0c;大家好我是商业模式策划啊浩。 今天给大家分享的模式叫作“二二复制”&#xff0c;我有一个客户通过我给他设计的这套模式实现销量破千万&#xff0c;大家如果对此感兴趣的话把自己的问题记录下来&#xff0c;看完文章后留言到评论区&am…

莱芜最好的网站建设公司wordpress 页面 插件

Github分支开发&#xff1a; 第1步&#xff1a;在github上创建一个新的dev分支&#xff1a; 更新了微信的PC版本&#xff0c;发现默认的箭头比以前加粗了&#xff0c;变得更好看了。 create branch: dev from master。 切换到该分支&#xff0c;看到里面的内容跟master分支的…

国内优秀网站网址怎样进行文化建设

文章主题&#xff1a;复杂度详解&#x1f331;所属专栏&#xff1a;深入理解数据结构&#x1f4d8;作者简介&#xff1a;更新有关深入理解数据结构知识的博主一枚&#xff0c;记录分享自己对数据结构的深入解读。&#x1f604;个人主页&#xff1a;[₽]的个人主页&#x1f525;…

网站整站模板江西网站建设

【C语言】——指针七&#xff1a; 前言一、 s i z e o f sizeof sizeof 与 s t r l e n strlen strlen 的对比1.1、 s i z e o f sizeof sizeof1.2、 s t r l e n strlen strlen1.3、 s i z e o f sizeof sizeof 和 s t r l e n strlen strlen 对比 二、数组和指针笔试题解析…

汝州市住房和城乡建设局网站小程序源码教程

free &#xff1a;观察内存使用情况 系统当中有 2848MB 左右的实体内存&#xff0c;我的 swap 有 1GB 左右&#xff0c; 那我使用free -m 以 MBytes 来显示时&#xff0c;就会出现上面的信息。Mem 那一行显示的是实体内存的量&#xff0c;Swap 则是内存交换空间的量。 total 是…

数据网站建设成本山东省住房城乡建设部网站

试卷代号&#xff1a;1260 软件工程 试题&#xff08;半开卷&#xff09; 2019年7月 一、选择题&#xff0c;请从四个可选项中选择正确答案。&#xff08;60分&#xff0c;每题3分&#xff09; 1.以下哪一项不是软件危机的表现形式&#xff08; &#xff09;。 A.成本高 B.生产…

网站都需要什么类别秦皇岛网站制作小程序开发

提示&#xff1a;接上文 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重要&#xff0…

做pc端网站案例网站开发涉及到缓存吗

1.1 ZooKeeper 是什么 ZooKeeper 是 Apache 的顶级项目。ZooKeeper 为分布式应用提供了高效且可靠的分布式协调服务&#xff0c;提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。在解决分布式数据一致性方面&#xff0c;ZooKeeper 并没有直接采用 Paxos 算法&…