在CentOS上部署Golang应用通常涉及以下几个步骤:
下载并解压Go安装包:
从Go官方网站下载适合CentOS的Go语言包,例如Go 1.17版本。
sudo wget https://golang.org/dl/go1.17.2.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.17.2.linux-amd64.tar.gz 配置环境变量:
编辑/etc/profile文件,添加以下内容:
export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin 保存文件后,运行以下命令使环境变量生效:
source /etc/profile 验证安装:
go version 如果显示了Go的版本信息,则表示安装成功。
在项目目录下编写你的Go应用程序代码。使用go build命令编译应用程序,生成可执行文件。例如:
cd /path/to/your/app go build -o myapp 创建systemd服务文件:
创建一个systemd服务文件,例如/etc/systemd/system/myapp.service,并添加以下内容:
[Unit] Description=My Go Application After=syslog.target [Service] Type=simple User=root WorkingDirectory=/path/to/your/app ExecStart=/path/to/your/app/myapp Restart=always Environment=ENV_VAR1=value1 ENV_VAR2=value2 [Install] WantedBy=multi-user.target 加载并启动服务:
sudo systemctl daemon-reload sudo systemctl start myapp.service sudo systemctl status myapp.service 设置开机自启动:
sudo systemctl enable myapp.service 编辑Nginx配置文件:
通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf,并添加以下内容:
server { listen 80; server_name your_domain_or_ip; location / { proxy_pass http://localhost:8080; # 假设你的Go应用运行在8080端口 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; } } 重新加载Nginx配置并启动Nginx服务:
sudo systemctl restart nginx sudo systemctl status nginx 配置好Nginx后,你可以通过服务器的IP地址或域名来访问你的Go应用程序。请确保你的防火墙允许外部访问你设置的端口。
以上步骤涵盖了在CentOS上从安装Golang到打包和部署项目的完整流程。如果在配置过程中遇到问题,可以参考Go官方文档或相关社区资源。