前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Apache上部署多个Wordpress站点

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

原创
作者头像
彼岸轮回
发布2018-08-16 15:39:57
2.4K0
发布2018-08-16 15:39:57
举报
文章被收录于专栏:云计算教程系列

什么是WordPress?

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

开始之前

代码语言:javascript
复制
mysql -u root -p
  • 使用单独的命名空间创建WordPress数据库:
代码语言:javascript
复制
CREATE DATABASE example1_wordpress;
  • 创建一个用户,并为新创建的example1_wordpress数据库授予权限,将example1_wpuserpassword替换为您要使用的用户名和密码:
代码语言:javascript
复制
CREATE USER 'example1_wpuser' IDENTIFIED BY 'password1';
GRANT ALL PRIVILEGES ON example1_wordpress.* TO 'example1_wpuser';
  • 对要运行的每个WordPress实例重复步骤2和3,将example命名空间替换为您选择的代表其他站点的关键字:
代码语言:javascript
复制
CREATE USER 'example2_wpuser' IDENTIFIED BY 'password2';
GRANT ALL PRIVILEGES ON example1_wordpress.* TO 'example2_wpuser';
  • 退出MySQL:
代码语言:javascript
复制
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/用作示例。导航到该新目录:
代码语言:javascript
复制
 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:
代码语言:javascript
复制
 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的过程:
代码语言:javascript
复制
 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,后跟日期以存储原始源文件的备份。 如果您将来安装新版本并需要恢复到以前的版本,这将非常有用:
代码语言:javascript
复制
 sudo mv latest.tar.gz wordpress-`date "+%Y-%m-%d"`.tar.gz

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

  • 将您的Web服务器用户www-data设置为站点主目录的所有者:
代码语言:javascript
复制
 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文件夹:
代码语言:javascript
复制
 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文件夹的所有权:
代码语言:javascript
复制
 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目录:
代码语言:javascript
复制
 cd /etc/apache2/sites-available
  1. 根据需要复制000-default.conf
代码语言:javascript
复制
 cp 000-default.conf example1.conf
 cp 000-default.conf example2.conf
  1. example1.com中输入以下内容:
代码语言:javascript
复制
<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文件:
代码语言:javascript
复制
 sudo a2ensite example1.conf
  1. 重新启动Apache以启用更改:
代码语言:javascript
复制
 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》

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是WordPress?
  • 开始之前
  • 安装多个WordPress实例
  • 配置Apache虚拟主机
  • 配置WordPress
  • 更多信息
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档