手机版

再码头工人中架设完整的WordPress站点全攻略

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

1.安装码头工人

在我们真正开始之前,我们需要确保在我们的Linux操作系统操作系统机器上已经安装了码头工人。我们使用的主机是CentOS 7,因此我们用下面的命令使用妙的管理器安装码头工人。

#好吃安装码头工人

201572995512549.png  (684490)

# systemctl重启docker.service2 .创建WordPress的文件

我们需要创建用于自动安装wordpress以及其前置需求的文件。这个文件将用于构建WordPress的安装镜像。这个文件会从码头注册中心获取CentOS 7镜像并用最新的可用更新升级系统。然后它会安装必要的软件,例如Nginx网站服务器、PHP、MariaDB、开放嘘服务器,以及其它保证码头工人容器正常运行不可缺少的组件。最后它会执行一个初始化WordPress安装的脚本。

# nano Dockerfile然后,我们需要将下面的配置行添加到文件中。

来自CentOS : CentOS 7 MAINTAINER CentOS项目[电子邮件保护]运行好吃更新;百胜清洁所有运行百胜安装epel-释放;百胜清洁所有运行百胜安装Maria db Maria db-server Maria db-client nginx PHP-fpm PHP-CLI PHP-MySQL PHP-GD PHP-IMAP PHP-LDAP PHP-odbc PHP-pear PHP-XML PHP-xmlrpc PHP-magick wand PHP-magpierss PHP-mbstring PHP-mcrypt PHP-MSSQL PHP-shock PHP-SNMP PHP-soap PHP-tidy PHP-APC pwgen python-setup ols百胜清洗所有ADD ./start.sh /start.sh ADD ./nginx-site。conf/nginx。conf RUN mv/nginx。conf/etc/nginx/nginx。conf RUN RM-RF/usr/share/nginx/html/* RUN/usr/bin/easy _ install supervisor RUN/usr/bin/easy _ install supervisor-stdout ADD ./super super sord。conf/etc/superver sord。conf RUN echo % sudo ALL=no passwd : ALL/etc/sudoers ADD http://wordpress.org/latest.tar.gz/WordPress。焦油。gz RUN tar xvzf/WordPress。焦油。gz RUN mv/WordPress/*/usr/share/nginx/html/.RUN chown-R Apache : Apache/usr/share/nginx/RUN chmod 755/start。sh RUN mkdir/var/RUN/sshd EXPRESS 80 EXPRESS 22 CMD['/bin/bash ','/start。sh ']201572995556444.png  (684490)

3.创建启动脚本

我们创建了文件之后,我们需要创建用于运行和配置WordPress安装的脚本,名称为开始吧。它会为WordPress创建并配置数据库和密码。用我们喜欢的文本编辑器打开开始吧。

# nano start.sh打开开始之后,我们要添加下面的配置行到文件中。

#!/bin/bash _ _ check(){ if[-f/usr/share/nginx/html/WP-config。PHP];然后退出fi } __create_user() { #创建用于嘘登录的用户SSH _ USERPASS=` pwgen-c-n-1 8 '用户添加-G轮用户回送用户:美元SSH _ USERPASS | chpasswd回送SSH用户密码:美元SSH _ USERPASS } _ _ MySQL _ config(){ #启用并运行MySQL yum -y擦除马里亚布马里亚布-服务器RM-RF/var/lib/MySQL//etc/my。CNF好吃安装马里亚布马里亚布-服务器MySQL _ install _ db chown-R MySQL : MySQL/var/lib/MySQL/usr/bin/MySQL d _ safe sleep 10 } _ _ handle _ password(){ #在这里我们生成随机密码(多亏了pwgen)。前面两个用于关系型数据库用户,最后一个用于wp-config.php的随机密钥WORDPRESS _ DB=' WORDPRESS ' MYSQL _ PASSWORD=' pwgen-c-n-1 12 ' WORDPRESS _ PASSWORD=' pwgen-c-n-1 12 ` #这是在日志中显示的密码echo MYSQL root PASSWORD : $ MYSQL _ PASSWORD echo WORDPRESS PASSWORD : $ WORDPRESS _ PASSWORD echo $ MYSQL _ PASSWORD/MYSQL-root-pw。txt echo $ WORDPRESS _ PASSWORD/WORDPRESS-db-pw。txt #这里原来是一个包括sed、cat、管道和材料的很长的行,但多亏了# @djfiander的https://gist.github.com/djfiander/6141138 #现在没有了sed-e ' s/database _ name _ here/$ WORDPRESS _ DB/s/username _ here/$ WORDPRESS _ DB/s/PASSWORD _ here/$ WORDPRESS _ PASSWORD/' AUTH _ KEY '/s/将您的唯一短语放在这里/` pwgen-c-n-1 65 `/' LOGGED _ IN _ KEY '/s/将您的唯一短语放在这里/` pwgen-c-n/' SECURE _ AUTH _ SALT '/s/将您的唯一短语放在此处/` pwgen-c-n-1 65 `/' LOGGED _ IN _ SALT '/s/将您的唯一短语放在此处/` pwgen-c-n-1 65 `/` pwgen-c-n-1 65 `/'/usr/share/nginx/html/WP-config-sample。PHP/usr/share/nginx/html/WP启动mysqld服务MYSQL admin-u root PASSWORD $ MYSQL _ PASSWORD MYSQL-uroot-p $ MYSQL _ PASSWORD-e ' CREATE DatabaSe WordPress;授予wordpress的所有特权* ' TO ' WORDPRESS ' @ ' localhost ' IDENTIFIED BY ' $ WORDPRESS _ PASSWORD ';FLUSH PRIORIES杀死所有MySQL睡眠10 } _ _ run _ supervisor(){ supervisord-n } #调用所有函数_ _ check _ _ create _ user _ _ MySQL _ config _ _ handle _ passwords _ _ httpd _ perms _ _ start _ MySQL _ _ run _ supervisor(9502 . 163.com)

增加完上面的配置之后,保存并关闭文件。4.创建配置文件

现在,我们需要创建Nginx网站服务器的配置文件,命名为nginx-site.conf。

# nano nginx-site.conf然后,增加下面的配置信息到配置文件。

用户nginx worker _ processes 1;error _ log/var/log/nginx/error。日志;# error _ log/var/log/nginx/error。原木通知;# error _ log/var/log/nginx/error。原木信息;PID/运行/nginx。PID事件{ worker _ connections 1024 } http { include/etc/nginx/mime。类型;默认类型应用程序/八位字节流;log _ format main ' $ remote _ addr-$ remote _ user[$ time _ local]' $ request ' ' $ status $ body _ bytes _ send ' $ http _ referer ' ' $ http _ user _ agent ' ' $ http _ x _ forward _ for ' ';access _ log/var/log/nginx/access。log main# tcp上的send file _ no push上的# keepalive _ time out 0;keepalive _ time out 65 # gzip onindex.html index.htm index.php指数;#从/etc/nginx/conf.d目录加载模块化配置文件。#查看http://nginx.org/en/docs/ngx_core_module.html#include #了解更多信息。包括/etc/nginx/conf.d/* .conf服务器{ listen 80 server _ name localhost # charset koi 8-r;# access _ log日志/主机。进入。log mainroot/usr/share/nginx/html;# error _ page 404/404。html#将服务器错误页面重定向到静态页面/50x。html # error _ page 500 502 503 504/50x。html位置=/50x.html {根html} #将服务器端编程语言(Professional Hypertext Preprocessor的缩写)脚本代理到街头流氓侦听127 .0 .0 .1:80 # #位置~ \。PHP $ { # proxy _ pass http://127。0 .0 .1;#} #将服务器端编程语言(Professional Hypertext Preprocessor的缩写)脚本传递给在127.0.0.1:9000 #位置监听的FastCGI服务器~ \。PHP $ { root/usr/share/nginx/html;try _ files $ uri=404 fastcgi _ pass 127。0 .0 .1:9000;index.php指数;fastcgi _ param SCRIPT _ FILENAME $ document _ root $ fastcgi _ SCRIPT _ name;包括fastcgi _ params} #拒绝访问htaccess .文件,如果街头流氓的文档根#与nginx的一# #位置一致~ /\。ht { #全部拒绝;# } } }201572995707457.png  (684490)

现在,创建supervisor.conf文件并添加下面的行。

# nano supervisord.conf然后,添加以下行。

[unix_http_server]文件=/tmp/主管。袜子;(套接字文件的路径)[supervisord]日志文件=/tmp/supervisord。日志;(主日志文件;默认$ CWD/超级用户。log)日志文件_ maxbytes=50MB(最大主日志文件字节b4循环;默认50MB)日志文件_备份=10;(主日志文件循环备份的数量;默认10)日志级别=信息;(日志级别;默认信息;others:调试、警告、跟踪)PID文件=/tmp/superversor。PID(superversor d pidfiledefault super versor。PID)no daimon=false;(如果为真,从前景开始;默认值为false)最小FDS=1024;(分钟。可用启动文件描述符;默认值1024)最小过程=200;(分钟有用.过程描述符;默认为200);以下部分必须保留在位置遥控(remote position control)的配置文件中;(supervisorctl/web界面)要工作,可能需要额外的界面;通过在单独的rpcinterface:节中定义它们来添加[rpcinterface :主管]主管。rpcinterface _ factory=supervisor。rpcinterface : make _ main _ rpcinterface[super versoctl]服务器URL=UNIX :///tmp/supervisor。袜子;为操作系统套接字使用UNIX :///URL[程序: PHP-fpm]命令=/usr/sbin/PHP-fpm-c/etc/PHP/fpm stdout _ events _ enabled=true stderr _ events _ enabled=true[程序: PHP-fpm-LOG]命令=tail-f/var/LOG/PHP-fpm/PHP-fpm。LOG stdout _ events _ enabled=true stderr _ events _ enabled=true[程序33330

201572995736091.png  (684490)

添加完后,保存并关闭文件。5.构建WordPress容器

现在,在完成配置文件和脚本的创建后,我们最终需要使用Dockerfile来创建安装最新的WordPress CMS所需的容器,并根据配置文件进行配置。为此,我们需要在相应的目录中运行以下命令。

# docker build-RM-t WordPress : centos 7。

201572995803992.png  (684490)

6.运行WordPress容器

现在,执行以下命令来运行新构建的容器,并为Nginx Web服务器和SSH访问打开相应的端口88和22。

# CID=$(docker run-d-p 80:80 WordPress : centos7)

201572995845827.png  (59338)

运行以下命令来检查容器内执行的进程和命令。

# echo '$(docker logs $CID)'运行以下命令检查端口映射是否正确。

# docker PS201572995909669.png  (631104)

7.Web界面

最后,如果一切正常,当我们用浏览器打开http://ip-address/或http://mywebsite.com/时,会看到WordPress的欢迎界面。

201572995934305.png  (1380722)

现在,我们将通过Web界面为WordPress面板设置WordPress配置、用户名和密码。

201572995957637.png  (1380722)

然后,用上面的用户名和密码进入WordPress登录界面。

2015729100028673.png  (1380722)

摘要

我们已经成功地在LEMP堆栈上构建并运行了WordPress CMS,以CentOS 7作为docker操作系统。从安全性方面来说,在容器中运行WordPress对主机系统来说更安全可靠。本文介绍了在Docker容器中运行的Nginx Web服务器上使用WordPress的完整配置。如果您有任何问题、建议或反馈,请写在下面的评论框中,以便我们改进和更新内容。非常感谢享受:-)

版权声明:再码头工人中架设完整的WordPress站点全攻略是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。