您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
docker安装wordpress用nginx反向代理绑定域名配置https
问兰2025-02-18WordPress教程已有人查阅
导读假设docker已经安装好了,如果没有安装,可以照着 5分钟安装docker教程安装一下。一. 下载镜像默认下载较新版本,如果想指定对应版本,可以用冒号后加版本,像这样mysql:5.7:docker p
假设docker已经安装好了,如果没有安装,可以照着 5分钟安装docker教程安装一下。
一. 下载镜像
默认下载较新版本,如果想指定对应版本,可以用冒号后加版本,像这样
mysql:5.7:docker pull mysql:5.7
docker pull wordpress
docker pull nginx
二. 启动container实例
已经下载好了image,接下来启动container,需要分别启动mysql,wordpress,nginx。1. 启动mysql
因为wordpress是需要安装数据库的,这里安装mysql并且启动:
-d: 指定容器以守护进程方式在后台运行;
--name: 指定容器名称,此处我指定的是wordpressdb;
-env 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
-p: 指定主机与容器内部的端口号映射关系,
[宿主机端口号]:[容器内部端口],此处我使用了主机3306端口,映射容器3306端口;
mysql:5.7 是nginx的镜像IMAGE ID前4位
这些参数中涉及了一些名词,如果看不懂,建议去看看docker的基本概念。简单来说就是,docker技术通过image这种模板,生成contaienr实例,下次还可以再生成一个contaienr实例,image像是一个模板,可以多次使用。contaienr实例可以看作小型的虚拟机,多个虚拟机在局域网里面,需要将端口映射到宿主机上面,我们都知道直接访问局域网的内网ip是不能访问的,通过宿主机的公网ip:映射的端口即可访问了。2. 启动wordpress
docker安装wordpress,相比docker安装mysql,这里相比多了两个参数,后面会解释。如果安装成功,通过docker ps可以看到wordpress的进程,浏览器输入ip:8080,应该是可以在网页安装
--link:关联mysql容器,如果是使用非docker安装的mysql,比如自己手动安装的mysql,可以通过参数--env指定数据库连接:
注意:wordpress容器默认开的是80端口,这里将容器的80端口映射到宿主机的8080端口,为什么不也映射到80端口呢,因为后面要安装nginx,nginx一般要监听80端口,云服务商一般配置域名:ikeguang.com绑定云主机的80端口,所以之后nginx只能由nginx占用宿主机的80端口,避免不必要的麻烦。3. 启动nginx
如果上面wordpress安装好了,网站可以通过ip地址正常访问,发布文章了,可以考虑绑定域名了,加个nginx进行反向代理。
1). 配置http访问:
nginx配置
http访问的时候,默认一个server监听80端口即可;如果配置https,需要加个server,监听443端口,这里先把http访问配置好再说,贴出了我的配置:
说明:因我wordpress启动端口不是80,需要添加配置:
既然nginx.conf配置好了,接下来启动nginx容器:
这里将容器的目录/etc/nginx映射,需要先通过docker cp命令复制一份完整nginx的目录到宿主机,然后修改文件,再执行上面docker run命令。文件夹映射的时候,文件夹里面的所有文件应该是一样的,文件内容可以不一样。
经过上面的配置,应该是可以通过浏览器输入域名:ikeguang.com访问网站了。
2). 配置https访问:
经过前面的配置,通过域名应该可以访问网站了,接下来配置
一. 下载镜像
默认下载较新版本,如果想指定对应版本,可以用冒号后加版本,像这样
mysql:5.7:docker pull mysql:5.7
docker pull wordpress
docker pull nginx
二. 启动container实例
已经下载好了image,接下来启动container,需要分别启动mysql,wordpress,nginx。1. 启动mysql
因为wordpress是需要安装数据库的,这里安装mysql并且启动:
docker container run -d \
--name wordpressdb \
-p 3306:3306 \
--env MYSQL_ROOT_PASSWORD=123456 \
--env MYSQL_DATABASE=wordpress \
mysql:5.7
各个参数含义:-d: 指定容器以守护进程方式在后台运行;
--name: 指定容器名称,此处我指定的是wordpressdb;
-env 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
-p: 指定主机与容器内部的端口号映射关系,
[宿主机端口号]:[容器内部端口],此处我使用了主机3306端口,映射容器3306端口;
mysql:5.7 是nginx的镜像IMAGE ID前4位
这些参数中涉及了一些名词,如果看不懂,建议去看看docker的基本概念。简单来说就是,docker技术通过image这种模板,生成contaienr实例,下次还可以再生成一个contaienr实例,image像是一个模板,可以多次使用。contaienr实例可以看作小型的虚拟机,多个虚拟机在局域网里面,需要将端口映射到宿主机上面,我们都知道直接访问局域网的内网ip是不能访问的,通过宿主机的公网ip:映射的端口即可访问了。2. 启动wordpress
docker安装wordpress,相比docker安装mysql,这里相比多了两个参数,后面会解释。如果安装成功,通过docker ps可以看到wordpress的进程,浏览器输入ip:8080,应该是可以在网页安装
wordpress了。docker run -d \
--name wordpress \
--link wordpressdb:mysql \
--volume "$PWD/wordpress":/var/ /html \
-p 8080:80 \
wordpress--link:关联mysql容器,如果是使用非docker安装的mysql,比如自己手动安装的mysql,可以通过参数--env指定数据库连接:
-e WORDPRESS_DB_HOST=192.168.80.129:3306 \
-e WORDPRESS_DB_USESR=root \
-e WORDPRESS_DB_PASSWORD=123456
--volume:将容器的/var/ /html映射到当前目录下,这样直接操作当前目录,即可操作容器目录,否则还得进去容器操作,我们都知道容器是一个 版的小型虚拟机,像vim这种常用命令默认是没有的;注意:wordpress容器默认开的是80端口,这里将容器的80端口映射到宿主机的8080端口,为什么不也映射到80端口呢,因为后面要安装nginx,nginx一般要监听80端口,云服务商一般配置域名:ikeguang.com绑定云主机的80端口,所以之后nginx只能由nginx占用宿主机的80端口,避免不必要的麻烦。3. 启动nginx
如果上面wordpress安装好了,网站可以通过ip地址正常访问,发布文章了,可以考虑绑定域名了,加个nginx进行反向代理。
1). 配置http访问:
nginx配置
http访问的时候,默认一个server监听80端口即可;如果配置https,需要加个server,监听443端口,这里先把http访问配置好再说,贴出了我的配置:
include /etc/nginx/conf.d/*.conf;
server{
listen 80;
server_name ikeguang.com.ikeguang.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://宿主机ip:8080;
}
}
这里http://宿主机ip:8080,因为前面我们的wordpress映射宿主机的端口是8080,这里nginx代理宿主机8080端口,也就是说你访问80端口(nginx),相当于代理访问了8080端口(wordpress),并且云服务商配置的域名也是绑定80端口,这样访问域名,就访问了8080端口的wordpress了,就能访问网站了。说明:因我wordpress启动端口不是80,需要添加配置:
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
启动nginx容器既然nginx.conf配置好了,接下来启动nginx容器:
docker run -d -p 80:80 --name nginx -v /usr/share/nginx/html:/usr/share/nginx/html -v /etc/nginx:/etc/nginx -v /var/log/nginx:/var/log/nginx nginx
这里需要注意:这里将容器的目录/etc/nginx映射,需要先通过docker cp命令复制一份完整nginx的目录到宿主机,然后修改文件,再执行上面docker run命令。文件夹映射的时候,文件夹里面的所有文件应该是一样的,文件内容可以不一样。
经过上面的配置,应该是可以通过浏览器输入域名:ikeguang.com访问网站了。
2). 配置https访问:
经过前面的配置,通过域名应该可以访问网站了,接下来配置
https:
nginx.conf配置:include /etc/nginx/conf.d/*.conf;
server {
#监听443端口
listen 443 ssl;
#对应的域名
server_name ikeguang.com.ikeguang.com;
ssl_certificate ssl/1_ikeguang.com_bundle.crt;
ssl_certificate_key ssl/2_ikeguang.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://宿主机ip:8080;
}
}
server{
listen 80;
server_name ikeguang.com.ikeguang.com;
#把http的域名请求转成https
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://宿主机ip:8080;
}
}
把前面启动http的nginx容器删除,配置好ssl证书,再次启动,需要启动80端口和443端口。
docker run -d -p 80:80 -p 443:443 --name nginx -v /usr/share/nginx/html:/usr/share/nginx/html -v /etc/nginx:/etc/nginx -v /var/log/nginx:/var/log/nginx nginx
-p 443:443,如果配置ssl,才需要这个参数,开始去掉,这里先把域名绑定成功,http可以访问了,再进行第二步配置https访问,ssl证书可以在云服务商那里申请免费的,然后按照帮助文档安装即可,没啥坑。
本文标签:
很赞哦! ()
相关教程
- Mac电脑桌面安装WordPress
- 基于Centos7详细安装wordpress的方法
- 安装wordpress搭建站点的方法示例
- Win2003 + IIS 6安装WordPress MU配置方法
- Centos7怎么安装WordPress
- 怎么安装wordpress,wordpress安装步骤教程
- CentOS 6.4 php环境配置安装wordpress的方法
- 在linux下安装wordpress的方法示例
- nginx环境下安装wordpress的方法
- CentOS 7安装WordPress的方法示例
- kali攻击wordpress,trunkey+linux安装wordpress的方法
- linux系统安装WordPress的方法
图文教程
drupal与wordpress的优势,哪个更容易上手
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。
WordPress导航菜单函数代码示例
导航菜单是每一个WordPress主题必须的元素,如果你要制作一个WordPress主题,那就必须熟悉WordPress导航菜单注册函数 register_nav_menus() 和 导航菜单调用函数wp_nav_menu()
wordpress建站和安装方法
一、到官网下载wordpress程序,现在 新的版本是4.9.4,压缩包大小是9.39MB,wordpress现在已经有中文网站,看起来也很方便。
wordpress添加开发的html页面的方法
一、如何把自己单独做的HTML页面放到基于WordPress的网站上?方法一:1、将xx.html修改为page-xx.php上传到你当前使用的主题目录中;2、在WordPress后台创建别名为xx的页面后
相关源码
-
(自适应)重工工业机械挖掘机机推土机网站源码下载基于PbootCMS内核开发的专业级重工机械企业网站模板,适用于挖掘机、推土机等重型工业设备展示。采用响应式设计技术,确保在各类设备上均能呈现专业视觉效果,帮助企业建立数字化展示窗口。查看源码 -
(自适应响应式)瓷砖大理石装修建材类网站pbootcms模板html5模板本模板基于PbootCMS开发,针对瓷砖、大理石等建材行业特点进行优化设计。采用响应式布局技术,确保产品展示效果在不同设备上都能合理呈现。模板特别强化了石材纹理的视觉表现力,帮助建材企业更好地展示产品质感。查看源码 -
帝国cms7.5文库范文/付费下载/复制付费/带支付源码免费下载本模板为文库、文档分享、知识付费类平台设计,提供完整的内容变现解决方案。系统支持多种内容展示与付费模式,满足不同场景下的内容价值转化需求,帮助平台实现内容资源的有效管理和商业化运营。查看源码 -
自适应响应式绿色装修公司定制家居类pbootcms网站下载(自适应手机端)响应式全屋装修定制家居类网站pbootcms模板 绿色装修公司网站源码下载PbootCMS内核开发的网站模板,该模板适用于装修定制网站、装查看源码 -
(PC+WAP)绿色资源回收新能源环保设备pbootcms源码下载基于PbootCMS系统深度开发的环保行业模板,特别适配资源回收设备、新能源技术、环境治理装备等企业的线上展示需求。集成产品库、解决方案、环保案例等专业模块,助力企业高效传递绿色价值。查看源码 -
自适应黑色简繁双语轴承齿轮机械设备制造网站模板该模板为轴承齿轮机械制造企业提供一体化网站建设方案,着重解决行业特有的多语言展示、移动端适配和高效率内容管理需求,帮助企业精准展示产品特性与工艺流程查看源码
| 分享笔记 (共有 篇笔记) |

