如何在Apache上部署多个Wordpress站点

什么是WordPress?

WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。Alexa排行前100万的网站中有超过16.7%的网站使用WordPress。到了2011年8月,约22%的新网站采用了WordPress。WordPress是目前因特网上最流行的博客系统。WordPress在最着名的网络发布阶段中脱颖而出。如今,它控制着超过7000万个站点。本教程介绍如何使用Apache虚拟主机将系统配置为在单个CVM上运行多个WordPress站点。

开始之前

mysql -u root -p
  • 使用单独的命名空间创建WordPress数据库:
CREATE DATABASE example1_wordpress;
  • 创建一个用户,并为新创建的example1_wordpress数据库授予权限,将example1_wpuserpassword替换为您要使用的用户名和密码:
CREATE USER 'example1_wpuser' IDENTIFIED BY 'password1';
GRANT ALL PRIVILEGES ON example1_wordpress.* TO 'example1_wpuser';
  • 对要运行的每个WordPress实例重复步骤2和3,将example命名空间替换为您选择的代表其他站点的关键字:
CREATE USER 'example2_wpuser' IDENTIFIED BY 'password2';
GRANT ALL PRIVILEGES ON example1_wordpress.* TO 'example2_wpuser';
  • 退出MySQL:
quit
  • 本教程是为非root用户编写的。需要提升权限的命令以sudo为前缀。应使用提升的权限编辑所有配置文件。在运行文本编辑器之前,请记住要包含sudo

两个WordPress设置的示例是:

主机名

数据库

用户名

密码

example1.com

example1_wordpress

example1_wpuser

password1

example2.com

example2_wordpress

example2_wpuser

password2

example.comexampleexample1example2和本教程中的其他示例变量的每个实例替换为您各自站点的域名和namespace关键字。

安装多个WordPress实例

  • 创建将托管您的网站和WordPress源文件的目录。在本教程中,主目录/var/www/html/example1.com/用作示例。导航到该新目录:
 sudo mkdir /var/www/html/example1.com/
 sudo mkdir /var/www/html/example2.com/
 cd /var/www/html/example1.com/
  • /var/www/html/example1.com/下创建一个名为src 的目录。下载并解压缩最新版本的WordPress:
 sudo mkdir /var/www/html/example1.com/src/
 cd /var/www/html/example1.com/src/
 sudo wget http://wordpress.org/latest.tar.gz
 tar -zxvf latest.tar.gz
  • 重复example2.com的过程:
 sudo mkdir /var/www/html/example2.com/src/
 cd /var/www/html/example2.com/src/
 sudo wget http://wordpress.org/latest.tar.gz
 sudo tar -zxvf latest.tar.gz
  • latest.tar.gz重命名为wordpress,后跟日期以存储原始源文件的备份。 如果您将来安装新版本并需要恢复到以前的版本,这将非常有用:
 sudo mv latest.tar.gz wordpress-`date "+%Y-%m-%d"`.tar.gz

重复此步骤/var/www/html/example2.com/src

  • 将您的Web服务器用户www-data设置为站点主目录的所有者:
 sudo chown -R www-data:www-data /var/www/html/example1.com/
 sudo chown -R www-data:www-data /var/www/html/example2.com/
  • 将WordPress文件复制到您的public_html文件夹:
 sudo cp -R /var/www/html/example1.com/src/wordpress/* ../public_html/
 sudo cp -R /var/www/html/example2.com/src/wordpress/* ../public_html/
  • 为您的Web服务器提供public_html文件夹的所有权:
 sudo chown -R www-data:www-data /var/www/html/example1.com/public_html
 sudo chown -R www-data:www-data /var/www/html/example2.com/public_html
  • 对要运行的每个WordPress实例重复此操作。

配置Apache虚拟主机

到目前为止,这些步骤非常简单,类似于设置单个WordPress实例。在本节中,配置Apache虚拟主机,以便为example1.com的访问者提供/var/www/html/example1.com/public_html中的内容,并由MySQL数据库example1_wordpress提供支持。

  1. 转到Apache sites-available目录:
 cd /etc/apache2/sites-available
  1. 根据需要复制000-default.conf
 cp 000-default.conf example1.conf
 cp 000-default.conf example2.conf
  1. example1.com中输入以下内容:
<VirtualHost *:80>
# The primary domain for this host
ServerName example1.com
# Optionally have other subdomains also managed by this Virtual Host
ServerAlias example1.com *.example1.com
DocumentRoot /var/www/html/example1.com/public_html
<Directory /var/www/html/example1.com/public_html>
Require all granted
# Allow local .htaccess to override Apache configuration settings
AllowOverride all
</Directory>
# Enable RewriteEngine
RewriteEngine on
RewriteOptions inherit
​
# Block .svn, .git
RewriteRule \.(svn|git)(/)?$ - [F]
​
# Catchall redirect to www.example1.com
RewriteCond %{HTTP_HOST}   !^www.example1\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         https://www.example1.com/$1 [L,R]
​
# Recommended: XSS protection
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
</VirtualHost>
  1. 启用该站点。这将自动在/ etc / apache2 / sites-enabled /中创建example.com文件:
 sudo a2ensite example1.conf
  1. 重新启动Apache以启用更改:
 sudo service restart apache2
  1. 对要运行的每个WordPress站点重复步骤2到5。

配置WordPress

请参考如何在Ubuntu 18.04上安装带有LAMP的WordPress这篇文章第五步及其后续部分内容。

更多信息

有关此wordpress的其他信息,您可能需要参考以下资源。

完成所有操作后,你就可以在浏览器使用你的服务器IP打开你的wordpress安装页面啦!腾讯云开发者实验室提供了基于 Ubuntu 搭建 WordPress 个人博客教您一步步搭建起一个属于自己的 WordPress 博客,还有其他WordPress相关的教程,欢迎大家访问和查看。


参考文献:《Set Up Apache to Run Multiple WordPress Sites》

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏假装我会写代码

highlight.js 在 Vue 中使用的一点儿经验

2752
来自专栏君赏技术博客

怎么让APP`iTunes Connect`名字和在设备上显示的名字是一致的

在iTunes Connect和设备上显示的名字是一致的,因为避免混淆。对于WatchKit的app,对于WatchKit应用程序,这意味着在iTunes Co...

2863
来自专栏娱乐心理测试

40条微信小程序技巧分享

1893
来自专栏Android知识点总结

01-React搭建react环境及SCSS的配置

5512
来自专栏增长技术

Android-zipalign

1312
来自专栏码生

LaunchScreen.storyboard 启动页设置图片不显示 启动页白屏

启动页设置方式有两种 一是通过LaunchScreen.storyboard设置 二是通过 Assets.xcassets 增加 iOS Launch Im...

7853
来自专栏前端架构

再谈DOMContentLoaded与渲染阻塞—分析html页面事件与资源加载

浏览器的多线程中,有的线程负责加载资源,有的线程负责执行脚本,有的线程负责渲染界面,有的线程负责轮询、监听用户事件。

1.9K15
来自专栏陈纪庚

css加载会造成阻塞吗?

终于考试完了,今天突然想起来前阵子找实习的时候,今日头条面试官问我,js执行会阻塞DOM树的解析和渲染,那么css加载会阻塞DOM树的解析和渲染吗?所以,接下来...

1471
来自专栏mySoul

微信小程序插件

微信小程序插件是对一组js接口,自定义组件或页面的封装,用来嵌入微信小程序中,用来被开发者调用。

1.9K3
来自专栏陈满iOS

Xcode最新及各历史版本安装方法·官方镜像下载地址

个人看法,从重复利用的角度,不推荐用AppStore安装和更新,推荐直接去官网的历史版本下载资源页面下载,这样下载之后还能有版本备份,等下次再需要的时候还能重复...

4K2

扫码关注云+社区

领取腾讯云代金券