前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >腾讯云Ubuntu下WordPress从Apache迁移到Nginx过程

腾讯云Ubuntu下WordPress从Apache迁移到Nginx过程

原创
作者头像
崔庆才
修改于 2017-06-19 11:12:35
修改于 2017-06-19 11:12:35
1.9K0
举报
文章被收录于专栏:进击的Coder进击的Coder

需求

之前一直都用Apache服务器,由于网站访问量比较大,另外加上旧服务器快到期了,准备迁移到腾讯云服务器上,所以决定采用Nginx服务器。

迁移过程比较心酸,之前一直用apache,对nginx服务器配置不熟悉,踩了很多坑。下面说一下我的网站从旧主机(配有apache服务器)迁移到腾讯云主机(配有nginx服务器)的过程。

那这里是我新购买的云主机

代码迁移

这个过程其实也是比较心酸的,查看了一下目录结构占用空间已经足足快1个G了,可想而知里面占用的大部分空间是上传的图片素材。

不过要是迁移全部图片的话工程量实在是巨大。不过,好消息是我从开始就使用了七牛CDN加速,所以,上传的图片会自动存放到七牛,只不过也在主机本地留了备份而已,所以,我可以安心地删掉它们了。

那么对代码进行瘦身之后,这里就有两种方法来迁移了:

1.可以用git上传到github,然后用另一台主机把代码拉下来即可,在此不再赘述。

2.打包上传,然后直接在另一台主机上下载下来,由于我的两台主机在同一局域网内,所以我直接采用了这种方式,传输速度快。

打包

由于代码中含有 .git 目录,所以这部分我们不需要打包,那么压缩时我们就需要排除这个文件夹。

文件夹名叫cqc,那么我们就打包一下,排除.git目录,使用如下命令

代码语言:txt
AI代码解释
复制
tar -zcvf cqc.tar.gz --exclude=cqc/.git cqc

运行结束后会出现 cqc.tar.gz 文件,这就是目录压缩包。

然后我们只需要在另一台主机上输入

代码语言:txt
AI代码解释
复制
wget http://xxx.xxx.xxx.xxx/cqc.tar.gz

即可完成下载,速度可是嗖嗖的

然后解压即可,代码便完成了迁移。

数据库迁移

数据库用二者的phpmyadmin导出和上传即可。我导出 .sql 文件,大小为9M,而phpMyAdmin的上传限制大小是2M,怎么办?其实我们可以压缩 .sql 文件为 zip格式,压缩之后就有了1.4M了,分分钟完成上传。要知道 phpMyAdmin 可是支持 .sql.zip 文件的。

接下来是一个比较重要的部分,那就是配置一下站点信息。直接修改数据库的两个URL。

分别是 siteurl 和 home,一定要修改为 http://xxx.xxx.xxx.xxx/cqc 的形式,也就是把原来的域名改成IP加目录的形式,要不然网站是无法访问的,会出现多重循环定向的提示。

好,其他的没什么问题,连接数据库错误的话就修改一下目录的 wp-config.php 文件吧,连接数据库的信息修改正确就好了。

配置vhosts

和 apache 一样,我们多个域名肯定要可以解析到不同的目录吧,nginx 当然也是支持的。

接下来我们需要把新域名解析到 cqc 目录,在 nginx 下怎么做呢?其实还是比较简单的。

在 /etc/nginx 目录下可以新建一个 vhosts文件夹。在这里我们要解析 cqc 目录,那么我就新建一个 cqc.conf 文件。

现在例如我要把 blog.cuiqingcai.com 解析到 cqc 文件夹,配置如下

代码语言:txt
AI代码解释
复制
server {
	listen 80;
	server_name cuiqingcai.com blog.cuiqingcai.com;
	
	index index.html index.htm index.php;
	root /var/www/cqc;
	
	location / {
		
		if (!-e $request_filename) {
			rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;
			rewrite ^([_0-9a-zA-Z-]+)?(/.*\.php)$ $2 last;
			rewrite ^ /index.php last;
		}
	}
	
	location ~ \.php$ {
		fastcgi_pass 127.0.0.1:9000;
	#	# With php5-fpm:
	#	fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME /var/www/cqc$fastcgi_script_name;
		include fastcgi_params;
	}
}

其中

代码语言:txt
AI代码解释
复制
location / {
		
		if (!-e $request_filename) {
			rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;
			rewrite ^([_0-9a-zA-Z-]+)?(/.*\.php)$ $2 last;
			rewrite ^ /index.php last;
		}
	}

这一部分是伪静态重写,因为我的博客用的是wordpress,所以伪静态重写是这样的。当然还有其他的重写方式可以尝试。之后在 /etc/nginx/nginx.conf 中的 http{} 中添加一行

代码语言:txt
AI代码解释
复制
include /etc/nginx/vhosts/cqc.conf;

则代表引用了这个文件。

注意,还要把 域名设置一下,添加一条A记录到主机上。

好了,一切大功告成了。

后记

迁移和配置的过程坑实在是太多了,列列吧,警醒世人呐。

(1)代码迁移过程上传git,整个项目差不多1个G,由于数据量太大,导致内存不够无法正常上传。后来删除了图片,发现项目还是很大,结果发现是 .git 目录已经占用了上百兆,后来打包排除这个目录迁移的。

(2)数据库迁移的时候由于phpMyAdmin上传大小限制,修改了一番上传大小结果发现没生效,还倒腾了一下php-fpm,后来发现可以直接上传压缩包,那就分分钟完成了。

(3)配置完之后发现网站首页正常访问了,可是其他页面全部出现了404错误,后来配置了一番伪静态解析发现配置代码直接写在了 localhost server里面,后来发现可以直接新写一个 server,然后配置域名servername,然后配置伪静态重写才成功。

总之,坎坷是多,但是,自己慢慢摸索出来,也是一种不错的体验。

当你成功之后,会觉得世界又是那么美好。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CentOS7 部署WordPress
依次执行以下命令,进入/usr/share/nginx/html/目录,并下载与解压 WordPress。
ruochen
2021/12/04
1.2K0
泛域名绑定到wordpress网站二级目录
要将WordPress的泛域名绑定到二级目录,你需要在你的服务器上修改Apache或Nginx配置文件。以下是两种最常见的服务器配置的示例:
WordPress爱好者
2024/07/26
5170
泛域名绑定到wordpress网站二级目录
Nginx从陌生到入门07——部署WordPress实战
话不多说,直接开搞,冲! 需要提前将要部署的站点域名解析到你的服务器IP上哦。 如果不会这一步,可以百度,很多教程
huolong
2023/12/05
1.3K0
Nginx从陌生到入门07——部署WordPress实战
通过 Ngnix 配置解决 WordPress 固定链接 404 问题
排查后原因是 Nginx 配置问题,期间还遇到跳转 https:// 无限死循环的问题,故记录正确完整 Nginx 配置。
轩源
2024/09/29
2570
WordPress搭建个人网站后台问题汇总
  上一篇文章我们完成了基础的WordPress环境搭建,但对于要搭建一个有特色的网站还远不够,因为WordPress自身以及依赖的环境的一些存在一些默认的设置,为了更好的运用WordPress,我们需要将这些问题都解决掉,下面就来总结一下使用WordPress后台遇到的一系列问题。
IT学习日记
2022/09/13
6K0
WordPress搭建个人网站后台问题汇总
腾讯云服务器搭建 WordPress站点『图文教程』
WordPress 是一款常用的搭建个人博客网站软件,该软件使用 PHP 语言开发。您可通过在腾讯云服务器的简单操作部署 WordPress,发布个人博客。
用户2416682
2019/07/23
8.6K1
Nginx/Apache之伪静态设置 - 运维小结
一、什么是伪静态 伪静态即是网站本身是动态网页如.php、.asp、.aspx等格式动态网页有时这类动态网页还跟"?"加参数来读取数据库内不同资料,伪静态就是做url重写操作(即rewrite)。很典
洗尽了浮华
2019/05/25
13.1K0
40张步骤截图教你用腾讯云服务器配置LNMP环境并安装wordpress
作者:liuxinig 来源: http://www.cnblogs.com/liuxinig/p/5928361.html 本文有点长,原因是每一步都有截图占的篇幅较长,其实并不麻烦,并不复杂。所有
小小科
2018/05/02
4.5K4
40张步骤截图教你用腾讯云服务器配置LNMP环境并安装wordpress
低成本搭建高质量 WordPress 博客实践指南
近期,作者发现之前撰写的文章,在外网被各种途径转载,很难进行版权保护。因此,萌生了搭建个人博客网站的想法。
rileycai
2022/07/13
3.2K1
低成本搭建高质量 WordPress 博客实践指南
【腾讯云的1001种玩法】新手教程:腾讯云CentOS7安装LNMP+wordpress
饶文津
2017/04/13
3.4K0
Ubuntu 16.04 下 Typecho 部署
站点购买的时候腾讯只送了 20G 云盘,当我购买第二款机器的时候额度提升到了 50G。加上机器当时使用的是 Ubuntu 14.04 而且使用的是 HTTP 协议,所有最近我将系统重装并开启了全站 HTTPS。下面是整个过程的记录。
BigNerdCoding
2018/03/20
2.2K3
Ubuntu 16.04 下 Typecho 部署
基础建站:Ubuntu 16.04下安装WordPress程序
WordPress.com是一个博客寄存服务站点,由Automattic公司所持有。2005年8月8日进行Beta测试,2005年11月21日向公众开放。它使用的是开源博客软件WordPress。
禹都一只猫olei
2018/08/02
7240
基础建站:Ubuntu 16.04下安装WordPress程序
CentOS7快速安装搭建LNMP环境
源码编译安装 LNMP 环境虽然便于自定义,但是对于小型服务器来说,漫长的编译时间让人无法等待。如果能在 10 分钟内搞定环境安装,那就很好了。
星哥玩云
2022/07/24
1.5K0
搭建含有腾讯云插件的WordPress网站
WordPress是一款能让您建立网站、博客或应用的开源软件。WordPress是目前最强大的建站平台之一,有超过38%的网站都在使用WordPress,小到兴趣博客,大到新闻网站。 原生WordPress是传统的B/S架构,不带云原生能力。腾讯云开发了免费的WordPress插件,使WordPress无缝集成了腾讯云的云原生能力(例如:存储、加速等)
贾新军
2023/01/04
2.2K1
搭建含有腾讯云插件的WordPress网站
3.Nginx配置进阶(三)
==============================================================================
py3study
2020/01/08
9670
3.Nginx配置进阶(三)
Centos7.6搭建LNMP环境
将图中的user = xxx和group = xxx改为user = nginx group = nginx
Dreamy.TZK
2020/04/09
1.2K0
在 Ubuntu 16.04 下配置 Nginx + PHP 7.0 + MySQL 环境
之前我用 lnmp.org 的一键安装包来配置 web 服务器,一直懒得去动,对 nginx 的配置也是一知半解。买了新的 vps 之后需要重新配置服务器环境,趁这个机会让我手动一个个安装它们并且熟悉熟悉吧。
zgq354
2019/11/24
2K0
【腾讯云的1001种玩法】几种在腾讯云建立WordPress的方法(Linux)(一)
ZNing
2017/02/27
13K0
第三章·Nginx实现基础Web架构
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
6050
第三章·Nginx实现基础Web架构
【网站优化经验】使用Nginx加速wordpress
利用Nginx fastcgi_cache缓存,直接使用Nginx为页面生成缓存来加速wordpress,而且还支持html伪静态页面,效率比使用PHP缓存插件要高得多,也比较适合小配置的VPS上使用。
幻影龙王
2021/09/11
4.5K0
【网站优化经验】使用Nginx加速wordpress
推荐阅读
相关推荐
CentOS7 部署WordPress
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档