搭建可供局域网访问的wordpress站点
旨在部署可供局域网下访问的 wordpress 站点,可用于存储一些笔记、博客等
0. 部署所需环境
2024年2月28日
官网需求运行系统:
Win11 22H2
PHP 7.4+
MySQL 5.7+
orMariaDB 10.3+
Apache
orNginx
1. Install PHP
示例使用版本为:VS16 x64 Thread Safe (2024-Feb-13 23:36:38)
- 下载 php 安装文件压缩包
- 解压压缩包并移动到想要安装的位置
- 修改配置文件:将安装文件夹中的
php.ini-development
(开发) 或php.ini-production
(产品) 复制一份并重命名为php.ini
- 开启
mysqli
扩展:启用 3 中php.ini
文件中的;extension=mysqli
,即去除注释符号;
,其他扩展可酌情开启 - 修改扩展目录:修改 3 中
php.ini
文件中的extension_dir
条目,一般设置为phpinstallpath/ext
,即解压出来的目录中的ext
子目录的路径 - 将
php
路径添加到系统环境变量 - 验证安装成功:在命令行输入
php -v
,若输出正常版本信息则证明安装成功
1 | > php -v |
2. Install MySQL
示例使用版本为:8.0.36 Microsoft Windows Windows (x86, 64-bit), ZIP Archive
- 下载 mysql 安装文件压缩包
- 解压压缩包并移动到想要安装的位置
- 创建配置文件:在安装文件夹中创建名为
my.ini
的配置文件,在文件中写入如下内容,并修改basedir
与datadir
条目,其他条目可根据
1 | [mysqld] |
- 将 mysql 路径中的
bin
子目录添加到系统环境变量 - 以管理员身份打开命令行,移动到 mysql 路径中的
bin
子目录下,输入mysqld --initialize –console
进行初始化,成功后会显示初始初始密码,后面需要使用
如果输入命令后除了增加data文件外无返回,可以尝试输出mysqld --no-defaults --initialize --console
,基本会正常输出 - 在命令行输入
mysqld --install mysql
进行安装,输出Service successfully installed.
即表示安装成功 - 在命令行输入
net start mysql
启动 mysql 服务 - 在命令行输入
mysql -u root -p
进入 mysql ,在Enter password:
后输入 5 中初始化的密码 - 在数据库中输入
alter user 'root'@localhost identified by '123456'
进行密码修改,将其中123456
替换为要设置的密码,这里只是示例 - 在数据库中输入
quit
退出,再次使用mysql -u root -p
进入数据库,如果新设置的密码可以成功进入,则表示密码设置成功 - 为 wordpress 创建专用的用户与数据库,并赋予对专用数据库的所有权限
1 | # 创建新的用户,这里@'localhost'指定了用户可以从本地主机连接。如果需要该用户能够从任何主机连接,可以将localhost替换为'%' |
3. Install Nginx
示例使用版本:nginx/Windows-1.24.0
- 下载 nginx 安装文件压缩包
- 解压压缩包并移动到想要安装的位置
- 将 nginx 安装路径添加到系统环境变量
- 在命令行移动到 nginx 安装路径,运行
nginx
(添加完环境变量后应该可以在任意位置运行) - 可以使用
tasklist /fi "imagename eq nginx.exe"
命令查看nginx
的任务进程是否存在,或者直接在任务管理器中查看 - 打开浏览器,输入
localhost
(默认端口80),如果出现 nginx 的欢迎界面即表示安装成功 - 修改配置文件:
nginxinstallpath/conf
路径下的nginx.conf
是 nginx 的配置文件
1 | # # # nginx.conf 配置文件详解 |
- 为 wordpress 创建服务,在配置文件的
http
块中添加下列内容,最好将全局的日志文件的路径也修改一下,使用绝对路径防止出错
1 | server { |
4. Install wordpress
示例使用版本为:wordpress 6.4.3
- 下载 wordpress 安装文件压缩包
- 解压压缩包并移动到想要安装的位置,也就是后面站点的源文件路径
- 修改配置文件:复制
wp-config-sample.php
,并将副本修改文件名为wp-config.php
- 修改配置文件中与数据库连接、网络地址有关的条目
1 | /** The name of the database for WordPress */ |
- 根据 5. run wordpress 的步骤启动站点服务,在网页中会提示各种安装需求,如果前面的设置有误,可以根据提示进行修正,在所有条件满足后,点击安装,等待安装完毕(时间不长,示例操作时小于1分钟)
- 安装完成后会跳转到账户注册界面,完成注册
- 注册完成后会跳转到仪表盘界面,如果一些功能都能正常使用,页面可以正常跳转,就表示 wordpress 初始站点部署完毕
5. run wordpress
在本文示例的俺咋混个方式中运行 wordpress 站点需要启动两个服务:
- PHP-FPM 监听程序:用于与 PHP 通讯,在命令行运行下面的命令,其中的地址是在 nginx 配置文件相应服务块中的
fastcgi_pass
参数,务必要与其一致,否则无法正常通信,页面会无法访问
1 | php-cgi.exe -b 127.0.0.1:9000 |
- nginx 服务:用于站点源文件的前端展示,在命令行运行下面的命令启动 nginx 服务,并手动指定配置文件。原因是 nginx 启动时会在默认位置查找配置文件,windows 系统下的默认路径为
C:\nginx\conf\nginx.conf
,如果安装的路径与这个路径不同,就需要手动指定配置文件的路径
1 | nginx -c D:\nginxinstallpath\conf\nginx.conf |
- 在浏览器输入访问地址以访问 wordpress 站点页面,示例使用
http://localhost:88
6. 待解决问题
问题一:目前存在一个问题,就是使用 localhost 部署页面,使用局域网地址访问,只能访问到主界面,跳转其他界面都会回到以 localhost 为地址的页面,非本机器无法访问,需要手动修改 localhost 为站点的局域网地址
(在固定IP的服务器的优势不仅是随时随地访问,还有网络位置不变~~~)
方法一:
- 在 wordpress 仪表盘中设置站点地址为局域网地址,(最好启用一个插件,名为
Velvet Blues Update URLs
,作用是自动替换所有页面的地址为新地址,未独立验证效果)当切换页面时,默认的localhost就会变成设置的局域网地址- 弊端:当站点在局域网下的地址更换时,需要再次修改
方法二(不推荐):
- 在hosts文件中添加一个局域网地址对应的条目,使用该条目设置 wordpress 地址,可以不用每次修改设置,到哪需要修改hosts文件
- 弊端:在访问端也需要设置hosts文件,且频繁修改不安全容易污染网络环境
问题二:对 markdown 与 latex 的支持不太好,不能导入 markdown 文件直接得到文章
方法:有插件支持 markdown 语法,也有插件支持 latex 公式渲染,但和本地的 typora 支持还是有所欠缺
(这方面,hexo 更适用,可以通过 markdown 文件直接生成相应的静态文件,且对公式的支持也还可以)
相关的插件有:
- WP Markdown Editor:这是一个允许你在WordPress中使用Markdown编辑器的插件。虽然它本身不支持LaTeX公式,但你可以配合其他插件使用,比如下面的插件。
- Jetpack by WordPress.com:Jetpack是WordPress官方提供的一款功能强大的插件,它包含了许多功能模块。其中的Markdown模块可以让你在编辑文章时使用Markdown语法,而且它还可以支持LaTeX公式的显示。
- WP GitHuber MD:这是另一个支持Markdown语法的插件,它提供了丰富的Markdown编辑功能,并且支持LaTeX公式。
- WP QuickLaTeX:虽然它不是一个Markdown编辑器,但它可以让你在文章中使用LaTeX语法编写数学公式,并且能够实时渲染显示。
- WP KaTeX:类似于WP QuickLaTeX,WP KaTeX是一个用于在WordPress文章中渲染LaTeX公式的插件。它提供了一个简单的短代码来插入LaTeX公式,并且支持实时预览。
版权声明:本博客所有文章除特殊声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明出处 WX的博客!