1. 购买并安装系统
购买就不说了哈,英文不好的自己搜教程。 然后是安装系统
linode 系统安装:
购买完成后登录,进入找到购买的vps ,点击 Dashboard (控制面板) 进入后点击 面板上面的 Rebuild (重建系统)按钮。
在打开的页面中点击 Deploying using StackScripts (使用批处理脚本重建系统) 在下面找到 wordpress的那个,一般都很靠前,点击进入。
前面是mysql root密码和数据库名称,这个不用多说了,自己按照要求输入即可,记得把输入的密码找个本本记下来,别忘记了找回也需要时间的啊。
再下面的Image 根据自己熟悉什么系统就选什么系统。 个人比较喜欢CenOS7,下面的配置方法也是以CentOS 7 为例的,如果你熟悉其他系统,可以在对应系统找到对应文件即可;
Rootpassword 就是控制台的 超级管理员密码咯, 这个输入一个密码,自己记住即可。其他选项保持默认。确定,稍等几分钟即可自动安装完成。
2. 上传wordpress文件到新空间。
如果是管理员自己用的话可以使用xftp直接用控制台的root帐号和密码连接即可上传文件,如果是给客户用,为了防止系统文件被删除,可以配置一个ftp,详细配置ftp的方法大家可以自行百度 “linux 如何配置ftp” 。链接后将原空间的wp-content文件上传并解压覆盖现在的wp-content文件夹即可。然后在控制台为其设置权限为777
#chmod -R 777 /var/www/yoursite/public_html/wpcontent
然后再将wp-config.php文件中的数据库信息修改好,注意前缀如果有改动,这里要对应,最好是把之前网站的wp-config.php文件直接复制,然后修改数据库帐号、密码、数据库名称即可。 如果安装了 wp super cache的话还需要给该文件设置777权限,方法和上面一样。
3. 导入数据库文件。
导入方法一:为了方便数据库管理,可以直接将phpmyadmin上传到网站根目录,连接方式改为cookies验证,就是在phpmyadmin的根目录config.inc.php中的
$cfg['Servers'][$i]['auth_type'] = 'config';
//改为
$cfg['Servers'][$i]['auth_type'] = 'cookie';
然后访问该phpmyadmin目录将数据库文件上传即可,超过大小的可以使用服务器文件的方式,详情百度。 上传后将之前网站备份下来的数据库导入即可完成。
导入这里有需要注意:
新建数据库的字符集编码要跟之前的数据库统一,现在一般都是使用 utf8_general_ci
导入方法二:另外,也可以通过控制台导入,现将备份好的数据库文件上传到空间指定目录,然后执行导入命令。 通常建议使用source命令,因为这样才能设置数据库的编码格式,不会出现乱码,否则很容易出现乱码,具体步骤如下:
mysql -u dbadmin -p use myblog; set names utf8; #这里的字符集根你的将要导入的数据库的字符集一至。 source /home/zhangy/blog/database_bak/myblog.sql;
如何备份之前网站的数据库,备份也可以通过phpmyadmin执行,当然也可以通过控制台命令执行
mysqldump -u dbadmin -p myblog > /home/zhangy/blog/database_bak/myblog.sql
其中的 dbadmin 为数据库用户名 myblog为数据库名, 后面的路径和文件名为要保存的目标文件路径和名称。回车后会需要你输入数据库的密码,输入后确认即可。
至此,mysql数据库设置并未完成,因为我们选择的默认的wordpress CentOs 7的镜像还默认安装了一个 MariaDB的东东(mysql数据安全向导),需要运行一次才可以,否则后面将会导致mysql运行一段时间后自动宕机。方法很简单,执行下面三句即可,第三句执行后,按向导设置。
第一句 是启动 mariadb数据库, 第二句是设置其为开机启动,第三句是运行mysql数据库安全向导
systemctl start mariadb.service systemctl enable mariadb.service mysql_secure_installation
4. 设置网站的域名和伪静态
如果你的vps需要多个网站,那就要在控制台对/etc/httpd/conf.d 下 新增一个 vhosts.conf(以.conf结尾即可,名字自己随便取) 在里面设置多个网站的目录,格式如下:
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName myblog.com
ServerAlias www.myblog.com
DocumentRoot /var/www/myblog.com/public_html/
</VirtualHost>
其中的documentroot 和 servername为必须,其他几项可选。如果同一个网站绑定多个域名,就在AliasName里面 以空格隔开即可。
修改后需要重启apache,重启命令 service httpd restart
另外,还需要设置apache开机启动,这样重启linux后就不需要再手动去启动apache了
//设置 apche服务开机启动 systemctl enable httpd.service
要支持网站根目录的.htaccess伪静态,还需要在 /etc/httpd/conf 中修改 httpd.conf文件,在 Include conf.modules.d/*.conf 后面增加语句
LoadModule rewrite_module modules/mod_rewrite.so
为了实现伪静态的支持,还需要修改允许重写的文件目录,也就是你的网站根目录。架设你的根目录为/var/www,这需要在所有的<Directory xxxx>之后(注意,前面规则的将被后面的覆盖),加入
<Directory "/var/www"> AllowOverride All # Allow open access: Require all granted </Directory>
也可以直接将存在的Directory 修改为如上所示。
然后再将原来网站根目录的.htaccess 上传到新网站根目录即可生效。
最后,将域名解析过去,所有的wordpress搬家到 linode的工作全部完成。
后记:
上次搬家完成后,WORDPRESS不定时出现错误"Error establishing a database connection" 数据库链接错误。 既然之前能连接,突然不行了,那肯定是mysql数据库挂了, 登录控制台发现无法重启mysql,然后只能重启机器。 重启后发现连httpd都无法启动了,再仔细检查发现磁盘空间不足。 然后升级了一下数据盘的空间,问题得解。