
本文旨在指导如何在已有 MediaWiki 网站的 Apache 服务器上,无需 root 权限的情况下部署 Go 应用。通过配置 Apache 的 `mod_proxy` 模块,将特定 URL 路径的请求转发到 Go 应用,实现 Go 应用和 MediaWiki 的共存。我们将详细介绍配置步骤,并提供注意事项,确保部署顺利进行。
在没有 root 权限的情况下,在已有的 Apache 服务器上部署 Go 应用需要一些技巧。核心思路是利用 Apache 的 mod_proxy 模块,将特定 URL 路径的请求代理到运行 Go 应用的服务器和端口。由于无法直接修改全局 Apache 配置文件,需要寻找可行的替代方案,例如 .htaccess 文件(如果 Apache 配置允许)。
首先,确保你的 Go 应用已经编译成可执行文件,并且可以在服务器上运行。以下是一个简单的 Go Web 应用示例:
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello World")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}将以上代码保存为 main.go,然后使用 go build main.go 命令编译生成可执行文件 main。将此可执行文件上传到你的网站目录中,例如 /home/your_user/public_html/goapp/main。
如果你的 Apache 服务器允许使用 .htaccess 文件,这是最方便的配置方法。在你的网站目录中(例如 /home/your_user/public_html/),创建一个名为 .htaccess 的文件,并添加以下内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^goapp/(.*)$ http://localhost:8080/$1 [P,L]
</IfModule>
<IfModule mod_proxy.c>
ProxyPass /goapp/ http://localhost:8080/
ProxyPassReverse /goapp/ http://localhost:8080/
</IfModule>解释:
重要提示:
使用 SSH 连接到你的服务器,进入 Go 应用所在的目录,然后运行 Go 应用:
cd /home/your_user/public_html/goapp/ ./main
为了确保 Go 应用在后台持续运行,可以使用 nohup 命令:
nohup ./main &
现在,你可以通过浏览器访问 www.univ.edu/me/goapp/ 来测试你的 Go 应用是否部署成功。如果一切配置正确,你应该看到 "Hello World" 的输出。
通过以上步骤,你可以在没有 root 权限的情况下,成功地将 Go 应用部署到已有的 Apache 服务器上,并与 MediaWiki 共存。记住,.htaccess 文件的使用依赖于 Apache 的配置,如果无法使用,则需要联系服务器管理员进行配置。
以上就是使用 Apache 部署 Go 应用和 MediaWiki的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号