Apache 服务器在不同端口上为 WordPress 和普通网站提供服务
Apache Server to serve WordPress and Normal sites on different port
我已经在我的 ubuntu 21 中安装了 Apache/2.4.4。我已经在这个 IP 中有一个网站:172。20.x.y 正在监听端口 80,即默认端口.它还没有域名。我在下面提到了它的文档根目录,
DocumentRoot: /var/www/html
我打算在同一台机器上使用端口 81 到 运行 WordPress。
DocumentRoot: /srv/www/wordpress
我试图更新 000.default.conf 文件来支持它。以下是我更改的代码。
Listen 81
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/htm
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:81>
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/wordpress
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /srv/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
</VirtualHost>
但是,当我访问172.20.x.y:81时,它会重定向到默认端口。
WordPress 不起作用,
当我仅禁用 000.default.conf 和 运行 时 WordPress.conf 它工作正常。
<VirtualHost *:80>
DocumentRoot /srv/www/wordpress
<Directory /srv/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
<Directory /srv/www/wordpress/wp-content>
Options FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
谁能帮忙解决这个问题?
我建议检查您的 WordPress Site/Home URL。确保更改 Site/Home URLs 以匹配端口,例如,如果您的 URL 当前是“http://localhost”(默认为 80 HTTP 端口),那绝对是当您尝试访问“http://localhost:81”时看到重定向的正常行为。
请尝试在您的 WordPress URL 末尾添加“:81”,看看效果如何。
我不知道它是如何工作的,但它确实有效。我删除了我所做的所有更改,然后重新开始。
现在我没有触及 000-default.conf 文件,我只是添加了 wordpress.conf 文件并在其中编写了下面提到的 vhost 代码。
Listen 81
<VirtualHost *:81>
ServerAdmin webmaster@localhost
DocumentRoot /srv/wordpress
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
让我通过 运行 $apache2ctl configtest
命令测试 Apache 语法,它显示 syntax ok。
然后我通过 运行 $service apache2 reload
;
重新加载apache服务器
最后,我打开 172.20.x.y:81,上面写着 "You do not have permission to access",此时我取消了部分代码apache2.conf 文件位于 /etc/apache2/。
就像
# <Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
# </Directory>
改为
<Directory /srv/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我再次重新加载 Apache 服务器。终于可以正常使用了。
我已经在我的 ubuntu 21 中安装了 Apache/2.4.4。我已经在这个 IP 中有一个网站:172。20.x.y 正在监听端口 80,即默认端口.它还没有域名。我在下面提到了它的文档根目录,
DocumentRoot: /var/www/html
我打算在同一台机器上使用端口 81 到 运行 WordPress。
DocumentRoot: /srv/www/wordpress
我试图更新 000.default.conf 文件来支持它。以下是我更改的代码。
Listen 81
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/htm
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:81>
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/wordpress
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /srv/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
</VirtualHost>
但是,当我访问172.20.x.y:81时,它会重定向到默认端口。 WordPress 不起作用, 当我仅禁用 000.default.conf 和 运行 时 WordPress.conf 它工作正常。
<VirtualHost *:80>
DocumentRoot /srv/www/wordpress
<Directory /srv/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
<Directory /srv/www/wordpress/wp-content>
Options FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
谁能帮忙解决这个问题?
我建议检查您的 WordPress Site/Home URL。确保更改 Site/Home URLs 以匹配端口,例如,如果您的 URL 当前是“http://localhost”(默认为 80 HTTP 端口),那绝对是当您尝试访问“http://localhost:81”时看到重定向的正常行为。
请尝试在您的 WordPress URL 末尾添加“:81”,看看效果如何。
我不知道它是如何工作的,但它确实有效。我删除了我所做的所有更改,然后重新开始。 现在我没有触及 000-default.conf 文件,我只是添加了 wordpress.conf 文件并在其中编写了下面提到的 vhost 代码。
Listen 81
<VirtualHost *:81>
ServerAdmin webmaster@localhost
DocumentRoot /srv/wordpress
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
让我通过 运行 $apache2ctl configtest
命令测试 Apache 语法,它显示 syntax ok。
然后我通过 运行 $service apache2 reload
;
最后,我打开 172.20.x.y:81,上面写着 "You do not have permission to access",此时我取消了部分代码apache2.conf 文件位于 /etc/apache2/。 就像
# <Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
# </Directory>
改为
<Directory /srv/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我再次重新加载 Apache 服务器。终于可以正常使用了。