我来自php背景w/c,您可以轻松地将PHP文件扔到服务器中,仅此而已!在Golang中,要具体是Beego框架,因为我已经使用Beego创建了一个网站,但是我的塞子是(Q1(如何在Ubunto和Nginx环境中部署?(Q2(我需要在部署之前对Beego项目进行编译?(Q3(我需要nginx/apache作为服务器或使用beego的内置"运行"?
谢谢。
如何在ubuntu和nginx环境中部署?
- 安装golang并在Local主持的特定端口上运行Golang应用程序(例如Localhost:9000(。
- 安装nginx(https://www.digitalocean.com/community/tutorials/how-to-intall-nginx-on-on-ubuntu-16-04(
- 选择要指向Golang应用的域或子域。
-
创建nginx服务器块(https://www.digitalocean.com/community/community/tutorials/how-to-set-up-nginx-nginx-server-blocks-virtual-hosts-nosts-on-ubuntu-16-16-04(
示例服务器块指向Golang应用程序在Localhost运行:9000:
server { listen 80; server_name my.domain.com; location / { proxy_pass http://localhost:9000; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; proxy_pass_request_headers on; proxy_read_timeout 150; } }
- 要有效地运行您的程序,您可以使用主管(https://www.digitalocean.com/community/community/tutorials/how-to-intall-and-and-and-manage-supervisor-on-on-on-on-ubuntu-andundu-andundu-an-buntu-in,--------------------er-------- -y-debian-vps(
1-几乎安装了golang(使用内置版本:sudo apt-get install golang-go
或详细指南(并构建项目,或者在需要时简单地复制已建造的项目及其LIBS;
2-理想情况下,生产环境不应在大多数情况下包括源代码,因此构建的服务器可能会更好。
3-尽管不需要,但大多数人建议在Nginx后面运行Golang。其原因是由于在Nginx/Apache上进行的几个优化(例如:静态文件服务(,您在直接运行垃圾箱时会缺少它。
旁注:
- go run ...
与go build ...
运行构建的可执行文件
是相同的。 - 如果您只是部署二进制文件,请使用相同的OS/配置构建。
- 请记住要遵循基本的安全指南,只需打开所需的端口,在部署之前保护服务器,限制用户访问等。