<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nginx &#8211; 良的世界</title>
	<atom:link href="https://www.lemonary.cn/tag/nginx/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.lemonary.cn</link>
	<description></description>
	<lastBuildDate>Mon, 01 Sep 2025 09:14:02 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.lemonary.cn/wp-content/uploads/2024/12/profile-150x150.jpg</url>
	<title>Nginx &#8211; 良的世界</title>
	<link>https://www.lemonary.cn</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>记录本站php由版本8.0.30升级到8.3.7</title>
		<link>https://www.lemonary.cn/%e8%ae%b0%e5%bd%95%e6%9c%ac%e7%ab%99php%e7%94%b1%e7%89%88%e6%9c%ac8-0-30%e5%8d%87%e7%ba%a7%e5%88%b08-3-7/</link>
					<comments>https://www.lemonary.cn/%e8%ae%b0%e5%bd%95%e6%9c%ac%e7%ab%99php%e7%94%b1%e7%89%88%e6%9c%ac8-0-30%e5%8d%87%e7%ba%a7%e5%88%b08-3-7/#respond</comments>
		
		<dc:creator><![CDATA[shine]]></dc:creator>
		<pubDate>Wed, 27 Aug 2025 06:56:08 +0000</pubDate>
				<category><![CDATA[建站记录]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php-fpm]]></category>
		<guid isPermaLink="false">https://www.lemonary.cn/?p=2338</guid>

					<description><![CDATA[一、问题背景 由于WordPress升级到6.8.2版本以来一直提示php版本太旧，建议升级到8.3及更高的版 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">一、问题背景</h2>



<p class="wp-block-paragraph">由于WordPress升级到6.8.2版本以来一直提示php版本太旧，建议升级到8.3及更高的版本，本着强迫症的原则，已于今天上午将本站的php升级到版本8.3.7，现记录本文。看完本文如果你有更好更简单的升级方法可以在评论区留言，大家一起探讨。</p>



<h2 class="wp-block-heading">二、操作步骤</h2>



<h3 class="wp-block-heading">（1）lnmp脚本安装新版php</h3>



<pre class="wp-block-code"><code>&#91;root@lemonary lnmp2.2]# ./install.sh mphp

+------------------------------------------------------------------------+
|          LNMP V2.1 for Rocky Linux Server, Written by Licess          |
+------------------------------------------------------------------------+
|        A tool to auto-compile &amp; install LNMP/LNMPA/LAMP on Linux       |
+------------------------------------------------------------------------+
|           For more information please visit https://lnmp.org           |
+------------------------------------------------------------------------+
===========================
You have 9 options for your PHP install.
1: Install PHP 5.2.17
2: Install PHP 5.3.29
3: Install PHP 5.4.45
4: Install PHP 5.5.38
5: Install PHP 5.6.40
6: Install PHP 7.0.33
7: Install PHP 7.1.33
8: Install PHP 7.2.34
9: Install PHP 7.3.33
10: Install PHP 7.4.33
11: Install PHP 8.0.30
12: Install PHP 8.1.28
13: Install PHP 8.2.19
14: Install PHP 8.3.7
Enter your choice (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 or 14): 14</code></pre>



<p class="wp-block-paragraph">选择14开始安装即可。</p>



<p class="wp-block-paragraph">安装完成后服务器上同时启动着两个版本的php，此时将两版本php全部停止</p>



<pre class="wp-block-code"><code>systemctl stop php-fpm
pkill php-fpm</code></pre>



<p class="wp-block-paragraph">两个版本的路径：</p>



<pre class="wp-block-code"><code>旧：/usr/local/php
新：/usr/local/php8.3</code></pre>



<h3 class="wp-block-heading">（2）保险起见，做下备份</h3>



<pre class="wp-block-code"><code>备份 PHP 配置文件
cp /usr/local/php/etc/php.ini /usr/local/php/etc/php.ini.bak
cp /usr/local/php8.3/etc/php.ini /usr/local/php8.3/etc/php.ini.bak.original
备份 PHP-FPM 配置（如果有用到）
cp /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php-fpm.conf.bak
cp /usr/local/php/etc/php-fpm.d/www.conf /usr/local/php/etc/php-fpm.d/www.conf.bak</code></pre>



<h3 class="wp-block-heading">（3）检查并配置 PHP-FPM</h3>



<pre class="wp-block-code"><code>grep -n '^listen' /usr/local/php/etc/php-fpm.conf
grep -n '^listen' /usr/local/php8.3/etc/php-fpm.conf</code></pre>



<p class="wp-block-paragraph">确保新版本的&nbsp;<code>listen</code>&nbsp;设置和旧版本<strong>完全一致</strong>（例如&nbsp;<code>listen = /tmp/php-cgi.sock</code>），这样 Nginx 才不需要做任何改动。</p>



<h3 class="wp-block-heading">（4）替换二进制文件与链接（<strong>关键</strong>）</h3>



<p class="wp-block-paragraph">这是将系统默认&nbsp;<code>php</code>&nbsp;和&nbsp;<code>php-fpm</code>&nbsp;命令指向新版本的核心步骤。</p>



<pre class="wp-block-code"><code>备份旧版本的 PHP 目录
mv /usr/local/php /usr/local/php_8.0.30_bak

创建新版本的软链接
ln -sf /usr/local/php8.3 /usr/local/php

验证链接和版本
ls -l /usr/local/php
/usr/local/php/bin/php -v</code></pre>



<p class="wp-block-paragraph">现在，<code>/usr/local/php</code>&nbsp;这个路径就不再指向旧版本，而是指向了&nbsp;<code>/usr/local/php8.3</code>。你的所有现有脚本（如 Nginx 配置、开机启动脚本等）如果引用了&nbsp;<code>/usr/local/php/</code>，现在都会自动使用新版本。</p>



<h3 class="wp-block-heading">（5）启动新版本的 PHP-FPM 服务</h3>



<pre class="wp-block-code"><code>/usr/local/php/sbin/php-fpm
或者
systemctl start php-fpm</code></pre>



<h3 class="wp-block-heading">（6）验证新服务是否正常运行</h3>



<pre class="wp-block-code"><code>ps aux | grep php-fpm
ls -l /tmp/php-cgi.sock # 请替换为你配置中实际的 socket 路径</code></pre>



<h3 class="wp-block-heading">（7）配置 Nginx 并重启（如果需要）</h3>



<p class="wp-block-paragraph"><strong>通常情况下，如果你的 PHP-FPM&nbsp;<code>listen</code>&nbsp;配置没有改变，Nginx 是无需任何修改的。</strong>&nbsp;但最好检查一下 Nginx 的配置文件，确认&nbsp;<code>fastcgi_pass</code>&nbsp;参数指向的 socket 地址是否正确。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">注意：<br>因为我在新版php-fpm.conf中将<code>listen</code>修改成<code>/tmp/php-cgi8.3.sock</code>（原本为<code>/tmp/php-cgi.sock</code>），所以此处Nginx需要修改配置文件如下位置。</p>
</blockquote>



<p class="wp-block-paragraph">修改<code>/usr/local/nginx/conf/enable-php.conf</code>文件中的<code>fastcgi_pass</code>如下：</p>



<pre class="wp-block-code"><code>fastcgi_pass  unix:/tmp/php-cgi8.3.sock;</code></pre>



<p class="wp-block-paragraph">改成对应php-fpm.conf中配置的listen。</p>



<p class="wp-block-paragraph">为什么要修改这里呢？因为这个文件在nginx.conf配置文件中通过include引入，如下：</p>



<pre class="wp-block-code"><code>grep "include" /usr/local/nginx/conf/nginx.conf
include enable-php.conf;</code></pre>



<p class="wp-block-paragraph">检查配置并重启 Nginx：</p>



<pre class="wp-block-code"><code>nginx -t
nginx -s reload</code></pre>



<h2 class="wp-block-heading">三、其它问题</h2>



<p class="wp-block-paragraph">由于原版的php曾经手动添加过模块exif和Imagick，详见<a href="https://www.lemonary.cn/wordpress%e7%ab%99%e7%82%b9%e5%81%a5%e5%ba%b7%e4%b9%8bphp%e6%a8%a1%e7%bb%84exif%e5%92%8cimagick/">WordPress站点健康之PHP模组Exif和Imagick</a>，所以升级到新版后WordPress还会再次提示缺少这两个模块，而且这次新增一个模块Opcache。这次我们不再手动安装而是直接用lnmp中的脚本进行安装，特别简单。</p>



<pre class="wp-block-code"><code>cd lnmp2.2/
先后执行这两条命令即可
./addons.sh install exif
./addons.sh install imagemagick
./addons.sh install opcache</code></pre>



<p class="wp-block-paragraph">执行结束后重启php-fpm</p>



<pre class="wp-block-code"><code>systemctl restart php-fpm</code></pre>



<p class="wp-block-paragraph">查看验证是否安装成功</p>



<pre class="wp-block-code"><code>&#91;root@lemonary ~]# php -m | grep -E 'exif|imagick|OPcache'
exif
imagick
Zend OPcache
Zend OPcache</code></pre>



<p class="wp-block-paragraph">至此，php版本升级完成。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.lemonary.cn/%e8%ae%b0%e5%bd%95%e6%9c%ac%e7%ab%99php%e7%94%b1%e7%89%88%e6%9c%ac8-0-30%e5%8d%87%e7%ba%a7%e5%88%b08-3-7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>个人网站自诞生以来经历的第一次备份恢复</title>
		<link>https://www.lemonary.cn/%e4%b8%aa%e4%ba%ba%e7%bd%91%e7%ab%99%e8%87%aa%e8%af%9e%e7%94%9f%e4%bb%a5%e6%9d%a5%e7%bb%8f%e5%8e%86%e7%9a%84%e7%ac%ac%e4%b8%80%e6%ac%a1%e5%a4%87%e4%bb%bd%e6%81%a2%e5%a4%8d/</link>
					<comments>https://www.lemonary.cn/%e4%b8%aa%e4%ba%ba%e7%bd%91%e7%ab%99%e8%87%aa%e8%af%9e%e7%94%9f%e4%bb%a5%e6%9d%a5%e7%bb%8f%e5%8e%86%e7%9a%84%e7%ac%ac%e4%b8%80%e6%ac%a1%e5%a4%87%e4%bb%bd%e6%81%a2%e5%a4%8d/#respond</comments>
		
		<dc:creator><![CDATA[shine]]></dc:creator>
		<pubDate>Mon, 13 Jan 2025 07:02:08 +0000</pubDate>
				<category><![CDATA[建站记录]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Redis]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://www.lemonary.cn/?p=1352</guid>

					<description><![CDATA[一、前言 近日，在服务器上卸载Python，导致服务器yum不可用，尝试了多种方法进行修复都没能成功，最终决定 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">一、前言</h2>



<p class="wp-block-paragraph">近日，在服务器上卸载Python，导致服务器yum不可用，尝试了多种方法进行修复都没能成功，最终决定重装系统。所以，本站经历了首次备份恢复。于本文记录一下大致的整体流程。</p>



<h2 class="wp-block-heading">二、备份</h2>



<h3 class="wp-block-heading">2.1 备份WordPress目录</h3>



<p class="wp-block-paragraph">我采用的是最朴素的备份方法（由于是首次，不太信任网上的教程，也不太信任WordPress的插件），直接将WordPress整个目录打包压缩</p>



<pre class="wp-block-code"><code>tar -zcvf wordpress.tar.gz wordpress/</code></pre>



<h3 class="wp-block-heading">2.2 备份Nginx配置文件和SSL证书</h3>



<pre class="wp-block-code"><code>cp -r /usr/local/nginx/ssl /root/ssl_bak
cp /usr/local/nginx/conf/nginx.conf /root/nginx.conf_bak</code></pre>



<h3 class="wp-block-heading">2.3 备份MySQL数据</h3>



<pre class="wp-block-code"><code>mysqldump -u root -p wordpress > /home/mysql/wordpress.sql</code></pre>



<p class="wp-block-paragraph">将上述步骤备份出的文件挪出服务器保存到云盘或者Windows本地。</p>



<h2 class="wp-block-heading">三、恢复</h2>



<h3 class="wp-block-heading">3.1 部署环境</h3>



<p class="wp-block-paragraph">待服务器重装操作系统后，利用lnmp一键安装脚本部署环境，参考：<a href="https://www.lemonary.cn/linux%e6%90%ad%e5%bb%bawordpress%e8%af%a6%e7%bb%86%e6%95%99%e7%a8%8b/">Linux搭建WordPress详细教程</a>。<br>不用部署WordPress，只需要一键部署好Nginx+PHP+MySQL。</p>



<p class="wp-block-paragraph">再将上述备份文件上传回服务器。</p>



<h3 class="wp-block-heading">3.2 恢复WordPress目录</h3>



<p class="wp-block-paragraph">将备份的wordpress.tar.gz文件放到与备份时同样的目录（没有就创建），解压</p>



<pre class="wp-block-code"><code>tar -zxvf wordpress.tar.gz</code></pre>



<h3 class="wp-block-heading">3.3 恢复Nginx</h3>



<p class="wp-block-paragraph">详细步骤：</p>



<ol class="wp-block-list">
<li>用备份的nginx.conf_bak将nginx.conf配置文件覆盖。</li>



<li>再将ssl_bak文件夹放到/usr/local/nginx/目录下。</li>



<li>重新加载配置文件，重载nginx。（nginx -t）（nginx -s reload）</li>
</ol>



<h3 class="wp-block-heading">3.4 恢复MySQL数据</h3>



<pre class="wp-block-code"><code>mysql> create database wordpress;
## 执行备份SQL文件
mysql> use wordpress;
mysql> source /home/mysql/wordpress.sql;</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">注意：若原环境使用了Redis缓存数据库，则还需要进行以下两个步骤（也可以是一步3.6）。</p>
</blockquote>



<h3 class="wp-block-heading">3.5 暂时去除Redis</h3>



<p class="wp-block-paragraph">我的WordPress配置了Redis缓存数据库，但是我并没有备份Redis，所以需要执行这步。</p>



<p class="wp-block-paragraph">在目录/home/wwwroot/wordpress/wp-content下，可以看到一个名为object-cache.php的文件，将其重命名</p>



<pre class="wp-block-code"><code>mv object-cache.php object-cache.php_bak</code></pre>



<p class="wp-block-paragraph">至此，便可以重新看到我们的网站了。成功看到网站后，再去部署Redis也不迟。</p>



<h3 class="wp-block-heading">3.6 部署Redis</h3>



<p class="wp-block-paragraph">安装</p>



<pre class="wp-block-code"><code>yum -y install redis</code></pre>



<p class="wp-block-paragraph">启动 Redis 并设置为开机自启</p>



<pre class="wp-block-code"><code>systemctl start redis
systemctl enable redis</code></pre>



<p class="wp-block-paragraph">验证是否正常运行</p>



<pre class="wp-block-code"><code>systemctl status redis</code></pre>



<p class="wp-block-paragraph">恢复WordPress下的object-cache.php文件</p>



<pre class="wp-block-code"><code>mv object-cache.php_bak object-cache.php</code></pre>



<p class="wp-block-paragraph">到此为止，大功告成。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.lemonary.cn/%e4%b8%aa%e4%ba%ba%e7%bd%91%e7%ab%99%e8%87%aa%e8%af%9e%e7%94%9f%e4%bb%a5%e6%9d%a5%e7%bb%8f%e5%8e%86%e7%9a%84%e7%ac%ac%e4%b8%80%e6%ac%a1%e5%a4%87%e4%bb%bd%e6%81%a2%e5%a4%8d/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>站点健康之HTTP与HTTPS</title>
		<link>https://www.lemonary.cn/%e7%ab%99%e7%82%b9%e5%81%a5%e5%ba%b7%e4%b9%8bhttp%e4%b8%8ehttps/</link>
					<comments>https://www.lemonary.cn/%e7%ab%99%e7%82%b9%e5%81%a5%e5%ba%b7%e4%b9%8bhttp%e4%b8%8ehttps/#respond</comments>
		
		<dc:creator><![CDATA[shine]]></dc:creator>
		<pubDate>Mon, 02 Dec 2024 09:31:59 +0000</pubDate>
				<category><![CDATA[建站记录]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://www.lemonary.cn/?p=711</guid>

					<description><![CDATA[一、概述 不需要了解太详细，我们只需要知道HTTPS比HTTP更安全。简单来说 HTTPS 是 HTTP 的安 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="一、概述">一、概述</h2>



<p class="wp-block-paragraph">不需要了解太详细，我们只需要知道HTTPS比HTTP更安全。简单来说 HTTPS 是 HTTP 的安全版，是使用 TLS/SSL 加密的 HTTP 协议。</p>



<h2 class="wp-block-heading" id="二、把HTTP换成HTTPS">二、把HTTP换成HTTPS</h2>



<h3 class="wp-block-heading" id="2.1-申请证书">2.1 申请证书</h3>



<p class="wp-block-paragraph">免费的，花钱的都可以，能够把证书申请下来就可以。各种云厂商都提供SSL证书服务，例如：<a href="https://www.aliyun.com/">阿里云</a>、<a href="https://cloud.tencent.com/">腾讯云</a>、<a href="https://www.huaweicloud.com/">华为云</a>……也可以用一些免费的，例如：<a href="https://letsencrypt.osfipin.com/">来此加密</a>、<a href="https://freessl.cn/">FREESSL</a>、<a href="https://www.cloudflare-cn.com/">Cloudflare</a>等等。</p>



<p class="wp-block-paragraph">申请证书的过程就不在此介绍了，在申请证书的网站一步一步照着做就可以。</p>



<p class="wp-block-paragraph">证书申请成功后，将证书文件下载，上传到服务器nginx目录。一般只需要上传证书中的证书链文件（fullchain.crt）和私钥文件（private.pem）。【证书文件名大多类似，名字或格式略有差别】</p>



<p class="wp-block-paragraph">我在nginx目录下创建了ssl文件夹，用于存放证书文件：</p>



<pre class="wp-block-code"><code>&#91;root@dameng ssl]# pwd
/usr/local/nginx/ssl
&#91;root@dameng ssl]# ll
total 20
-rw-r--r-- 1 root root 2836 Dec  2 13:29 fullchain.crt
-rw-r--r-- 1 root root 6372 Dec  2 16:47 full_chain.pem
-rw-r--r-- 1 root root 1732 Dec  2 16:47 private.key
-rw-r--r-- 1 root root  241 Dec  2 11:31 private.pem</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">注意<br>我存放了两套证书，所以有四个文件，正常情况下有一套就可以。</p>
</blockquote>



<h3 class="wp-block-heading" id="2.2-修改nginx配置">2.2 修改nginx配置</h3>



<p class="wp-block-paragraph">编辑配置文件nginx.conf，只需要修改server部分就行</p>



<pre class="wp-block-code"><code>server {
        listen 80;
        server_name 你的域名;
        #将HTTP重定向到HTTPS
        return 301 https://$server_name$request_uri;
}
server
    {
        listen 443 ssl;
        ssl_stapling on;
        ssl_stapling_verify on;
        #请填写证书文件的相对路径或绝对路径
        ssl_certificate "/usr/local/nginx/ssl/full_chain.pem";
        #请填写私钥文件的相对路径或绝对路径
        ssl_certificate_key "/usr/local/nginx/ssl/private.key";
        
        #listen 80 default_server reuseport;
        #listen &#91;::]:80 default_server ipv6only=on;
        server_name 你的域名;
        ……
        ……
        ……</code></pre>



<p class="wp-block-paragraph">保存并重新加载nginx</p>



<pre class="wp-block-code"><code>&#91;root@dameng conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
&#91;root@dameng conf]# nginx -s reload</code></pre>



<h2 class="wp-block-heading" id="三、其他问题">三、其他问题</h2>



<p class="wp-block-paragraph">由于我在申请SSL证书的同一天将域名解析到我的IP（也就是网站IP与域名绑定），碰到了一些意料之外的问题：</p>



<ol class="wp-block-list">
<li>网站上所有的图片都加载不出来。</li>



<li>还有一个神奇的现象，就是页面加载后会把我底部音乐播放器的音乐封面铺满整个网页。</li>
</ol>



<p class="wp-block-paragraph">后续我也找到了解决的方法：准备工作是要下载一个插件<strong>Unlimited Elements for Elementor</strong>。</p>



<ol class="wp-block-list">
<li>图片加载不出来是因为图片都在WordPress媒体库并且图片的链接还是以前的IP链接，例如：https://xxx.xxx.xxx.xxx/wp-content/uploads/2024/11/头像-e1731570721610.jpg，需要将媒体库文件链接中所有的IP替换掉。当然不用一个一个的改，从WordPress的设置-常规里把<strong>WordPress地址（URL）</strong>和<strong>站点地址（URL）</strong>修改成域名。修改完成后，再次登录WordPress管理界面时，上述插件<strong>Unlimited Elements for Elementor</strong>会提示将网站从IP地址<strong>迁移</strong>到新的域名，点击<strong>迁移</strong>即可解决问题。</li>



<li>另外，音乐播放器封面的问题，我怀疑是我在申请SSL证书时没有填写顶级域名（lemonary.cn）而是只填了二级域名（www.lemonary.cn）导致的，我没有证实这一问题。但是在我将只填了二级域名的SSL证书替换掉后，这个现象也就没再出现过。</li>
</ol>



<p class="wp-block-paragraph">所以大家在替换域名和申请SSL证书时要注意以下两点：</p>



<ol class="wp-block-list">
<li>WordPress的媒体库中的文件链接需要修改，可以用插件统一修改。</li>



<li>SSL证书申请时一定要写好两个域名：顶级域名和二级域名（带www的和不带www的）。</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://www.lemonary.cn/%e7%ab%99%e7%82%b9%e5%81%a5%e5%ba%b7%e4%b9%8bhttp%e4%b8%8ehttps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress固定链接后文章页Nginx404</title>
		<link>https://www.lemonary.cn/wordpress%e5%9b%ba%e5%ae%9a%e9%93%be%e6%8e%a5%e5%90%8e%e6%96%87%e7%ab%a0%e9%a1%b5nginx404/</link>
					<comments>https://www.lemonary.cn/wordpress%e5%9b%ba%e5%ae%9a%e9%93%be%e6%8e%a5%e5%90%8e%e6%96%87%e7%ab%a0%e9%a1%b5nginx404/#respond</comments>
		
		<dc:creator><![CDATA[shine]]></dc:creator>
		<pubDate>Wed, 20 Nov 2024 01:14:57 +0000</pubDate>
				<category><![CDATA[建站记录]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://lemonary.cn/?p=288</guid>

					<description><![CDATA[一、问题描述 使用WordPress配置界面，设置中的固定链接功能，选中以文章名为固定链接结构后，再点击文章页 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="一、问题描述">一、问题描述</h2>



<p class="wp-block-paragraph">使用WordPress配置界面，设置中的固定链接功能，选中以文章名为固定链接结构后，再点击文章页后无法正常访问，页面显示Nginx 404。</p>



<h2 class="wp-block-heading" id="二、问题分析">二、问题分析</h2>



<p class="wp-block-paragraph">多半是由于WordPress所在服务器没有正确配置rewrite规则所导致。不同的服务器（如Apache和Nginx）的rewrite规则配置不一致。由于我用的是Nginx，所以，以下是Nginx的配置方法。</p>



<h2 class="wp-block-heading" id="三、问题解决">三、问题解决</h2>



<p class="wp-block-paragraph">修改Nginx配置文件/usr/local/nginx/conf/nginx.conf</p>



<p class="wp-block-paragraph">添加如下内容：</p>



<pre class="wp-block-code"><code>location / {
	try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">注意<br>需要添加到server后的花括号中，如下图所示。</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="931" height="405" src="https://www.lemonary.cn/wp-content/uploads/2024/11/image-280.png" alt="" class="wp-image-2113" srcset="https://www.lemonary.cn/wp-content/uploads/2024/11/image-280.png 931w, https://www.lemonary.cn/wp-content/uploads/2024/11/image-280-300x131.png 300w, https://www.lemonary.cn/wp-content/uploads/2024/11/image-280-768x334.png 768w" sizes="(max-width: 931px) 100vw, 931px" /></figure>
</blockquote>



<p class="wp-block-paragraph">保存配置文件后，验证配置文件并重启</p>



<pre class="wp-block-code"><code>&#91;root@dameng ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
&#91;root@dameng ~]# nginx -s reload</code></pre>



<p class="wp-block-paragraph">问题解决。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.lemonary.cn/wordpress%e5%9b%ba%e5%ae%9a%e9%93%be%e6%8e%a5%e5%90%8e%e6%96%87%e7%ab%a0%e9%a1%b5nginx404/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Linux搭建WordPress详细教程</title>
		<link>https://www.lemonary.cn/linux%e6%90%ad%e5%bb%bawordpress%e8%af%a6%e7%bb%86%e6%95%99%e7%a8%8b/</link>
					<comments>https://www.lemonary.cn/linux%e6%90%ad%e5%bb%bawordpress%e8%af%a6%e7%bb%86%e6%95%99%e7%a8%8b/#respond</comments>
		
		<dc:creator><![CDATA[shine]]></dc:creator>
		<pubDate>Fri, 15 Nov 2024 06:53:00 +0000</pubDate>
				<category><![CDATA[建站记录]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[LNMP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://www.lemonary.cn/?p=1112</guid>

					<description><![CDATA[原文地址：https://blog.csdn.net/qingfeng812/article/details/ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">原文地址：<a href="https://blog.csdn.net/qingfeng812/article/details/142780892">https://blog.csdn.net/qingfeng812/article/details/142780892</a></p>
</blockquote>



<h2 class="wp-block-heading" id="一、简单概述">一、简单概述</h2>



<p class="wp-block-paragraph">当前你所浏览的这个网站，就是我用WordPress搭建而成的，这篇文章就是我根据当初搭建WordPress的记录而写的。如果你也想用WordPress平台搭建自己的个人网站，那么可以参考这篇文章。</p>



<p class="wp-block-paragraph">本文是基于LNMP搭建WordPress平台的详细教程。</p>



<h2 class="wp-block-heading" id="二、准备工作">二、准备工作</h2>



<ul class="wp-block-list">
<li>一台Linux服务器【必备】：可以通过云服务厂商处购买：<a href="https://cn.aliyun.com/">阿里云</a>、<a href="https://www.huaweicloud.com/intl/zh-cn/">华为云</a>、<a href="https://cloud.tencent.com/">腾讯云</a>。</li>



<li>一个域名【非必备】：也可以通过云服务厂商处购买，没有域名也可以用IP直接来访问。</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">建议：服务器和域名都从同一厂商处购买比较好。</p>
</blockquote>



<ul class="wp-block-list">
<li>一个远程shell工具【必备】：Xshell、SecureCRT、MobaXterm等等都可以，看你习惯。</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">注意<br>1.从云服务器控制台中获取服务器的公网IP，端口。使用root用户密码即可从shell工具登录服务器。<br>2.可能在登录前需要在控制台将服务器的网络策略配置放开（就是开墙），以便登录和访问。</p>
</blockquote>



<p class="wp-block-paragraph">需要准备的内容大概就是这些，接下来就可以开始部署。</p>



<h2 class="wp-block-heading" id="三、部署手册">三、部署手册</h2>



<h3 class="wp-block-heading" id="3.1-部署LNMP">3.1 部署LNMP</h3>



<p class="wp-block-paragraph">LNMP是Linux+Nginx+MySQL+PHP的简写。</p>



<p class="wp-block-paragraph">另外还有：</p>



<ul class="wp-block-list">
<li>LAMP：Linux+Apache+MySQL+PHP</li>



<li>LNAMP：Linux+Nginx+Apache+MySQL+PHP</li>
</ul>



<p class="wp-block-paragraph">这些软件分别是：</p>



<ul class="wp-block-list">
<li>Linux：类 Unix 计算机操作系统。</li>



<li>Nginx：一个高性能的 HTTP 和反向代理服务器，也是一个 IMAP/POP3/SMTP 代理服务器。</li>



<li>Apache：世界使用排名第一的Web服务器软件。</li>



<li>MySQL：关系型数据库管理系统。</li>



<li>PHP：在服务器端执行的嵌入 HTML 文档的脚本语言。</li>
</ul>



<p class="wp-block-paragraph">这几个软件在安装时比较繁琐，尤其是数据库。所以我们可以根据集成的shell脚本一并安装他们。</p>



<p class="wp-block-paragraph"><strong>LNMP部署流程</strong></p>



<p class="wp-block-paragraph">可以直接访问网站：<a href="https://lnmp.org/notice/lnmp-v2-1.html">https://lnmp.org/notice/lnmp-v2-1.html</a>网站中写了详细的安装部署方法。本文也只是根据该网站的内容进行编写。</p>



<p class="wp-block-paragraph">（1）开启screen</p>



<pre class="wp-block-code"><code>screen -S lnmp</code></pre>



<p class="wp-block-paragraph">注意：或者使用 tmux，使用方法详见文档<a href="https://www.lemonary.cn/linux%e7%b3%bb%e7%bb%9ftmux%e7%bb%88%e7%ab%af%e5%a4%9a%e4%bb%bb%e5%8a%a1%e5%92%8c%e4%bc%9a%e8%af%9d%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7/">Linux系统tmux终端多任务和会话管理工具</a></p>



<p class="wp-block-paragraph">（2）下载、解压、安装</p>



<pre class="wp-block-code"><code>wget http://soft.lnmp.com/lnmp/lnmp2.1.tar.gz -O lnmp2.1.tar.gz &amp;&amp; tar zxf lnmp2.1.tar.gz &amp;&amp; cd lnmp2.1 &amp;&amp; ./install.sh lnmp</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">注意：最后面的lnmp参数，如需要lnmpa 或 lamp 模式，请替换lnmp为你要安装的模式。</p>
</blockquote>



<p class="wp-block-paragraph">（3）安装过程</p>



<p class="wp-block-paragraph">选择MySQL数据库的版本：默认是5.5.60，最好选择8+版本。选好数据库需要设置root用户的密码，配置好并做记录。这个密码很重要，是我们以后登录数据库必备的密码。<br>之后会询问是否需要启用&nbsp;MySQL&nbsp;InnoDB，InnoDB引擎默认为开启，一般建议开启，直接回车或输入 y 。</p>



<p class="wp-block-paragraph">选择PHP的版本：默认是5.6.36，最好也选择8+版本。（因为有些WordPress主题需要PHP版本比较高）</p>



<p class="wp-block-paragraph">选择是否安装内存优化：默认不安装（直接回车即可）</p>



<p class="wp-block-paragraph">如果是LNMPA或LAMP的话还会提示设置邮箱和选择Apache：<br>需要设置管理员邮箱，该邮箱会在报错时显示在错误页面上。<br>选择Apache的版本：默认版本（2.4.33）即可。</p>



<p class="wp-block-paragraph">提示&#8221;Press&nbsp;any&nbsp;key to install…or Press Ctrl+c to cancel&#8221;后，按回车键确认开始安装。 安装时间大约半小时。最终显示：</p>



<pre class="wp-block-code"><code>============================== Check install ==============================
Checking ...
Nginx: OK
MySQL: OK
PHP: OK
PHP-FPM: OK
Clean Web Server src directory...
+------------------------------------------------------------------------+
|          LNMP V2.1 for CentOS Linux Server, Written by Licess          |
+------------------------------------------------------------------------+
|           For more information please visit https://lnmp.org           |
+------------------------------------------------------------------------+
|    lnmp status manage: lnmp {start|stop|reload|restart|kill|status}    |
+------------------------------------------------------------------------+
|  phpMyAdmin: http://IP/phpmyadmin/                                     |
|  phpinfo: http://IP/phpinfo.php                                        |
|  Prober:  http://IP/p.php                                              |
+------------------------------------------------------------------------+
|  Add VirtualHost: lnmp vhost add                                       |
+------------------------------------------------------------------------+
|  Default directory: /home/wwwroot/default                              |
+------------------------------------------------------------------------+
|  MySQL/MariaDB root password: Admin1qaz                          |
+------------------------------------------------------------------------+
+-------------------------------------------+
|    Manager for LNMP, Written by Licess    |
+-------------------------------------------+
|              https://lnmp.org             |
+-------------------------------------------+
nginx (pid 1600642) is running...
php-fpm is runing!
MySQL running (1601228)                                    &#91;  OK  ]
State  Recv-Q Send-Q Local Address:Port Peer Address:PortProcess
LISTEN 0      50           0.0.0.0:3306      0.0.0.0:*                 
LISTEN 0      128          0.0.0.0:22        0.0.0.0:*                   
       
Install lnmp takes 17 minutes.
Install lnmp V2.1 completed! enjoy it.</code></pre>



<p class="wp-block-paragraph">只要服务都是OK的，就表示安装成功没有问题。</p>



<p class="wp-block-paragraph">最后的端口：</p>



<ul class="wp-block-list">
<li>3306：MySQL</li>



<li>80：HTTP</li>



<li>22：SSH</li>
</ul>



<p class="wp-block-paragraph">（4）验证</p>



<p class="wp-block-paragraph">用浏览器访问http://ip，可以看到demo网页，表示配置成功。</p>



<h3 class="wp-block-heading" id="3.2-安装WordPress">3.2 安装WordPress</h3>



<p class="wp-block-paragraph">WordPress是使用PHP语言（这也是我们上面为什么要安装 PHP 的原因）开发的博客平台。</p>



<p class="wp-block-paragraph">安装的 LNMP，是保证了 WordPress 的基本运行环境。</p>



<p class="wp-block-paragraph">（1）下载、解压WordPress到/home/wwwroot/目录</p>



<pre class="wp-block-code"><code>wget https://cn.wordpress.org/latest-zh_CN.zip &amp;&amp; unzip latest-zh_CN.zip -d /home/wwwroot</code></pre>



<p class="wp-block-paragraph">（2）登录MySQL，创建wordpress数据库</p>



<pre class="wp-block-code"><code>mysql -u root -p
Enter password: 
MySQL &gt; create database wordpress;</code></pre>



<p class="wp-block-paragraph">（3）修改网站根目录属主</p>



<pre class="wp-block-code"><code>cd /home/wwwroot &amp;&amp; chown -R www wordpress/ &amp;&amp; chgrp -R www wordpress/</code></pre>



<h3 class="wp-block-heading" id="3.3-配置Nginx">3.3 配置Nginx</h3>



<p class="wp-block-paragraph">编辑Nginx配置文件/usr/local/nginx/conf/nginx.conf，如下</p>



<pre class="wp-block-code"><code>root  /home/wwwroot/default;
改成
root  /home/wwwroot/wordpress;</code></pre>



<p class="wp-block-paragraph">将网站的根目录设置为上一步存放wordpress的目录【我的是/home/wwwroot/wordpress】，根据实际目录自行配置。</p>



<p class="wp-block-paragraph">（4）重启Nginx</p>



<pre class="wp-block-code"><code>nginx -t
nginx -s reload</code></pre>



<h3 class="wp-block-heading" id="3.4-配置WordPress">3.4 配置WordPress</h3>



<p class="wp-block-paragraph">用浏览器打开http://ip/wp-admin/setup-config.php，就可以进行WordPress的配置。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="779" height="541" src="https://www.lemonary.cn/wp-content/uploads/2024/12/image-78.png" alt="" class="wp-image-1113" srcset="https://www.lemonary.cn/wp-content/uploads/2024/12/image-78.png 779w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-78-300x208.png 300w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-78-768x533.png 768w" sizes="(max-width: 779px) 100vw, 779px" /></figure>



<p class="wp-block-paragraph">依次填写上述步骤中设置好的数据库名、用户名（root）、密码、数据库主机（IP），表前缀（随意配置即可）。</p>



<p class="wp-block-paragraph">直接下一步即可配置完成。之后，需要填写WordPress站点的一些配置信息（自定义即可）</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1021" height="1024" src="https://www.lemonary.cn/wp-content/uploads/2024/12/image-80-1021x1024.png" alt="" class="wp-image-1115" srcset="https://www.lemonary.cn/wp-content/uploads/2024/12/image-80-1021x1024.png 1021w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-80-300x300.png 300w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-80-150x150.png 150w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-80-768x770.png 768w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-80-1532x1536.png 1532w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-80.png 1590w" sizes="(max-width: 1021px) 100vw, 1021px" /></figure>



<p class="wp-block-paragraph">配置完成后，即可登录WordPress平台开始搭建自己的个人网站。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="443" src="https://www.lemonary.cn/wp-content/uploads/2024/12/image-81-1024x443.png" alt="" class="wp-image-1116" srcset="https://www.lemonary.cn/wp-content/uploads/2024/12/image-81-1024x443.png 1024w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-81-300x130.png 300w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-81-768x332.png 768w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-81-1536x664.png 1536w, https://www.lemonary.cn/wp-content/uploads/2024/12/image-81-2048x886.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.lemonary.cn/linux%e6%90%ad%e5%bb%bawordpress%e8%af%a6%e7%bb%86%e6%95%99%e7%a8%8b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
