在生产中部署Golang(Beego)



我来自php背景w/c,您可以轻松地将PHP文件扔到服务器中,仅此而已!在Golang中,要具体是Beego框架,因为我已经使用Beego创建了一个网站,但是我的塞子是(Q1(如何在Ubunto和Nginx环境中部署?(Q2(我需要在部署之前对Beego项目进行编译?(Q3(我需要nginx/apache作为服务器或使用beego的内置"运行"?

谢谢。

如何在ubuntu和nginx环境中部署?

  1. 安装golang并在Local主持的特定端口上运行Golang应用程序(例如Localhost:9000(。
  2. 安装nginx(https://www.digitalocean.com/community/tutorials/how-to-intall-nginx-on-on-ubuntu-16-04(
  3. 选择要指向Golang应用的域或子域。
  4. 创建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;
        }
    }    
    
  5. 要有效地运行您的程序,您可以使用主管(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/配置构建。
- 请记住要遵循基本的安全指南,只需打开所需的端口,在部署之前保护服务器,限制用户访问等。

最新更新