beege 域名配置
在本地调试好我们的web server后,需要发布到公网上以便大家访问。这个时候,按理来说需要我们配置 app.conf
中的 hostname
为域名或者是公网IP。这个时候 beego 会报错。
bind: cannot assign requested address
提示我们不能设置这个地址。具体为什么会出现这个原因我有不清楚,网上的说法是需要用 Nginx
或者 Apache
做反向代理。可是明明用 Go 的 http
包搭的 web server 都是可以设置域名或者公网IP的。
那就按照网上的方法来吧,由于写得不是很详细,导致我访问web server 给我提示页面不存在。这里记录一下。
安装好 Nginx 后,修改配置文件,在 /etc/nginx/sites-enabled
路径下有一个文件叫 default
, 将这个文件复制到 /etc/nginx/conf.d
中,重命名为 user.conf
。删掉非注释内容,取消最后面的注释内容。
如下:
这里需要根据自己的工程进行配置。
需要注意的是:在 app.conf 里面配置的hostname不应该是域名,直接配置成127.0.0.1就行了,Nginx会将域名代理到127.0.0.1。然后在我们的 js 文件中,hostname 应该设置为 我们的域名。否则,浏览器请求到127.0.0.1是连接不到服务器的。另外 Nginx 监听的端口号不能和我们 app.conf 配置的一直,否则会出现占用。Nginx端口号和 js 文件保持一直,app.conf 中我们随便配置一个,我这里配置的是9091。sudo nginx -s reload
重启载入配置文件。
浏览器输入域名,Ok。