您可以按照以下步骤在 Linux 上使用 LNMP 堆栈构建 WordPress 网站: 1. 安装 LNMP:首先安装 Nginx、MySQL 和 PHP。 它可以从源代码编译和安装php 扩展安装,也可以使用包管理器(例如 apt 或 yum)安装。 2.配置Nginx:编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf。 将服务器块中的根目录设置为WordPress安装目录。 3.配置MySQL:安装MySQL后php 扩展安装,运行安全脚本以设置root密码和其他安全选项。 之后创建一个新的 MySQL 数据库和用户供 WordPress 使用。 4. 安装PHP:确保您已安装所需的PHP版本和相关扩展。 您可以使用 php-fpm 来处理 PHP 请求。 5、下载并配置WordPress:从WordPress官网下载最新的WordPress压缩包。 解压该文件并将其连接到 Nginx 的根目录。 之后,复制 wp-config-sample.php 文件并将其重命名为 wp-config.php。 编辑wp-config.php文件,填写MySQL数据库的详细信息。 6. 设置文件权限:确保WordPress目录和文件具有适当的权限,以便Nginx和PHP-FPM可以读写。 7、配置Nginx虚拟主机:新建一个Nginx虚拟主机配置文件,将WordPress站点的域名指向正确的目录。 8.重启服务:重启Nginx和PHP-FPM服务以使更改生效。 9. 完成安装:在浏览器中访问您的WordPress域名,根据安装向导完成WordPress设置。 这些是大概的步骤,根据您的 Linux 发行版和个人喜好,可能会有一些细微的差异。 您可以在相关文档和教程中找到更详细的指导。
点击进入“PHP开源社区”
免费访问高级笔试、文档和视频资源
Docker是近年来非常流行的技术,作为软件开发人员,您应该及时联系并掌握它。我刚到一家需要使用 Docker 作为开发环境的公司,所以我必须学习如何使用 Docker。今天我写了关于设置 PHP 开发环境的过程,这也是一个记录。
我使用的是 Mac 版 Docker 桌面,Docker 安装需要拉取映像php环境安装,使用原始映像拉取会特别慢。但是,我们可以使用国外的图像资源,而且大部分都是免费的,我使用阿里云的图像加速链接,速度特别快。我们可以在阿里云上免费获得它,然后对其进行配置以使用。阿里云 Docker 加速器php环境安装,您可以在没有阿里云账号的情况下注册一个。
检测 Docker 是否正常运行
docker -v
安装 Mysql
拉取图像
#拉取最新版的 Mysql
docker pull mysql
#拉取指定版本的 Mysql (5.7)
docker pull mysql:5.7
运行 Mysql
#运行最新版 Mysql
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345678 -d mysql
#运行制定版本
docker run --name mysql_57 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.7
参数:
进入容器内
docker exec -it mysql bash
MySQL 是一个有状态的应用程序,如果容器化需要将其状态提取到主机,则应将其配置文件、日志文件和持久数据挂载到主机上。在PC上创建一个目录来存储Mysql数据,配置和日志,以便数据存储在主机上,我们删除容器并重新安装,可以直接使用而不会丢失数据。
mkdir -p docker/mysql && cd docker/mysql
mkdir data log conf
删除我们创建的 Mysql 容器
docker stop mysql && docker rm mysql
在 conf 目录中创建一个新的 my.cnf 文件作为 Mysql 的配置文件
vim my.cnf
[ ]
datadir=/var/lib/mysql
default-time_zone = '+8:00'
log-error=/var/log/mysql/error.log
然后重新创建 Mysql 容器,并将创建的目录挂载到容器中的相应目录。
docker run --name mysql
--restart=always ( Docker 重启时容器也跟随启动)
--privileged=true (Docker 为容易内的 root 用户赋予真正的 root 权限,不然会提示 log 目录权限不足)
-p 3306:3306
-v docker/mysql/conf:/etc/mysql/conf.d (将配置目录挂载到容器内的配置目录)
-v docker/mysql/data:/var/lib/mysql (将数据存储目录挂载到容器内的出局存储目录)
-v /docker/mysql/log:/var/log/mysql (将日志目录挂载到容器内的日志目录)
-e MYSQL_ROOT_PASSWORD=12345678
-d mysql
在容器内部,可以使用数据库管理工具加入配置以加入MySQL
exec -it mysql bash docker
$ mysql -u root -p
$ mysql-> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345678';
$ mysql-> FLUSH PRIVILEGES;
现在,您可以使用数据库管理工具加入。
安装 Nginx
拉取图像
docker pull nginx
创建并启动容器
docker run --name nginx -p 80:80 -d nginx
然后访问localhost查看Nginx的默认欢迎页面
创建一个目录来存储 Nginx 的配置和日志
mkdir -p docker/nginx && cd docker/nginx
mkdir conf log
将配置文件从容器复制到
host,并将配置文件映射到容器中的相应目录
docker cp nginx:/etc/nginx/conf.d/default.conf docker/nginx/conf/default.conf
重建
docker stop nginx && docker rm nginx
docker run --name nginx -p 80:80 -v docker/nginx/conf:/etc/nginx/conf.d
-v docker/www:/usr/share/nginx/html -v docker/nginx/log:/var/log/nginx -d nginx
安装 PHP
拉取 PHP 镜像
docker pull php:fpm
创建容器
docker run --name php-fpm -p 9000:9000 -d php:fpm
创建一个目录来存储 PHP 配置文件和日志
mkdir -p docker/php && cd docker/php
mkdir conf log
从容器中复制配置文件
docker cp php-fpm:/usr/local/etc/php-fpm.d/www.conf docker/php/conf/www.conf
docker cp php-fpm:/usr/local/etc/php/php.ini-production docker/php/conf/php.ini
重启容器
docker run --name php-fpm --link mysql:mysql
-v ~/docker/www:/var/www/html
-v docker/php/conf/www.conf:/usr/local/etc/php-fpm.d/www.conf
-v docker/php/conf/php.ini:/usr/local/etc/php/php.ini
-d php:fpm
Nginx 容器支持 PHP-FPM 容器
修改 Nginx 的配置文件 default.conf
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
charset utf-8;
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
}
#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;
}
location ~ .php$ {
fastcgi_index index.php;
#php-fpm容器名:端口号
fastcgi_pass php-fpm:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}
}
重新创建 NGINX 容器
docker stop nginx && docker rm nginx
docker run --name nginx -p 80:80 --link php-fpm
-v docker/nginx/conf:/etc/nginx/conf.d
-v docker/www:/usr/share/nginx/html
-v docker/nginx/log:/var/log/nginx
-d nginx
好的!在docker/www下创建一个索引.php
phpinfo();
打开 localhost 以查看 phpinfo() 函数的输出。
安装 PHP 扩展
docker-php-ext-install mysqli
#如果提示无法安装
pecl install redis && docker-php-ext-install redis
#安装gd扩展
apt-get update
apt-get install libpng-dev libjpeg-dev libfreetype6-dev
docker-php-ext-install gd
安装扩展后,无需更改配置文件,重启PHP容器即可。
*声明:本文整理于网络,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜
END
PHP开源社区 扫描关注 进入”PHP资料“
免费获取进阶
面试、文档、视频资源