迁移部署Wordpress网站,环境Ubuntu+Apache2+MySQL
原Wordpress部署在Windows下,迁移部署到Ubuntu18.04下,
新环境为Apache2,MySQL5.7,PHP7.0
ubuntu软件安装配置
https://www.cnblogs.com/Minstrel223/p/12306584.html
在root用户下操作,可以不使用sudo指令
首先更换ubuntu源,
vim /etc/apt/sources.list
比如使用清华源,将文件原有地址注释掉,加入以下内容:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
更新
apt update
apt upgrade
Apache2的安装
apt install apache2
service apache2 start
验证:此时在浏览器地址栏输入你的IP便能看到Apache2的默认页面了。
MySQL的安装
apt-get install mysql-server apt-get install mysql-client
卸载可以用:
apt-get --purge remove mysql-server
有的版本在安装过程中会提示你设置root用户的密码,有的默认空密码。
PHP的安装
apt install php apt install libapache2-mod-php apt install php-mysql
此时将 /var/www/html 下的 index.html 内容改为
<?php phpinfo() ?>
验证:并将文件名改为 index.php 重启apache2便能通过访问IP地址查看php信息了。
MySQL数据的导入
数据安装完之后,要进行初始化
mysqld --initialize
否则后面操作会提示没有mysql.user等错误
有可能报错:
TIMESTAMP with implicit DEFAULT value is deprecated
打开my.cnf文件
vim /etc/mysql/my.cnf
在[mysqld] 下面增加一行
explicit_defaults_for_timestamp=true
之后,再次初始化。
登录数据库输入密码
mysql -uroot -p
在mysql>提示符后输入
退出mysql按ctrl+z
查看数据库
show databases;
注意末尾有半角;
选择某个数据库
use mysql;
删除某个数据库
drop database 数据库名;
查看表
show tables;
查看表的结构
desc 表名;
查找自己的数据data在哪
show global variables like "%datadir%";
启动MySQL:
service mysql start
查看状态:
service mysql status
关闭MySQL:
service mysql stop
上传sql数据库,进入到导入:
mysql -uroot -p < Dump20200607.sql
如果导入某个数据库,可以:
mysql -uroot -p
输入密码
create database 新数据库名 charset=utf8;
查看:
show database;
ctrl+z 退出mysql模式
进入前面备份的mysql_dump_data.sql文件的目录下面
mysql -uroot -p 新数据库名 < Dump20200607.sql
完成备份和恢复.
检查是否恢复完成:
mysql -uroot -p
use 新数据库名 ;
show tables;
原文链接:https://blog.csdn.net/student241/article/details/80394092
MySQL8.0数据导入MySQL5.7出现的1273错误:
[ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
解决方法:
打开sql文件,将文件中的所有
utf8mb4_0900_ai_ci替换为utf8_general_ci
utf8mb4替换为utf8
保存后再次运行sql文件,运行成功
报错原因:
生成转储文件的数据库版本为8.0,要导入sql文件的数据库版本为5.6,因为是高版本导入到低版本,引起1273错误
apache2的配置
可以专门新建一个wordpress的配置文件,如:
vim /etc/apache2/sites-available/wordpress.conf
具体内容,可以根据以下进行修改
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName www.sakurablossom.cn #你的网站名 ServerAlias sakurablossom.cn #你的网站别名 DocumentRoot /var/www/html #你的网站所在根目录
<Directory /var/www/html>
Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
启用
a2ensite wordpress.conf
停用用这个命令
a2dissite wordpress.conf
停止apache2服务
service apache2 stop
重载
systemctl reload apache2
重启服务
service apache2 restart
网站建设之wordpress整站的无损搬迁
以下内容改编自网络:
1、windows下可以安装MySQL客户端备份数据,结果为utf-8编码的文本文件,如图所示:
也可以用其他命令导出mysql数据库(.sql)
2、备份wordpress网站程序。直接将整个网站打包成zip到本地电脑备用。
3、数据处理。将sql数据中的网站名称www.oldwebsite.com,全部修改为新网站www.newwebsite.com名称。
4、安装MySQL,新建mysql数据库,导入老站的.sql的数据库备份文件。
5、将打包成zip的老站网页程序的压缩包,上传,并解压。
6、删除网站根目录下的wp数据库配置文件wp-config.php,然后在浏览器中输入网站域名访问,安装wordpress。
删除旧网站的配置文件wp-config,否则有可能页面显示不出来。
安装的时候,wp-config会重建
WordPress网站页面如果无法访问,开启apache2重写模块
https://www.weizhiyong.com/archives/2283
要配置文件中启用apache的Rewrite模块:
1、启用rewrite模块
在终端中执行
sudo a2enmod rewrite
指令后,即启用了 Mod_rewrite 模块。
另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块。用指令操作就是:
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/r
还有一种说法是,反正我都试了:
Apache2 开启重写模式
复制 rewrite.load 文件到 mods-enabled 文件夹:
sudo cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
更改 mods-enabled/rewrite.load 文件权限:
chmod -R 775 rewrite.load
2 建立重写文件
在网站根目录下新建 .htaccess文件并把下面内容粘贴进去即可
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
可能还需要修改配置文件apache2.conf
https://blog.csdn.net/zziahgf/article/details/80348744
apache2配置文件一般是 /etc/apache2/apache2.conf
vim /etc/apache2/apache2.conf
更改如下部分的参数:
更改前: AllowOverride None
更改后: AllowOverride All
更改前:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
更改后:
<Directory />
Options FollowSymLinks
AllowOverride All
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
最后重启apache2
在终端输入 service apache2 restart