在CentOS上部署Golang项目并使其上线,可以按照以下步骤进行:
安装Go环境:确保你的CentOS系统上已经安装了Go语言环境。如果没有,可以通过以下命令安装:
sudo yum install golang
配置Go环境变量:编辑~/.bashrc或/etc/profile文件,添加以下内容:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin
然后执行source ~/.bashrc或source /etc/profile使配置生效。
进入项目目录:导航到你的Golang项目目录。
cd /path/to/your/project
编译项目:使用go build命令编译项目,生成可执行文件。
go build -o your_project_name
上传可执行文件:将编译好的可执行文件上传到CentOS服务器。可以使用scp命令:
scp your_project_name user@your_server_ip:/path/to/deploy
设置执行权限:确保可执行文件有执行权限。
chmod +x /path/to/deploy/your_project_name
为了使Golang项目作为系统服务运行,可以创建一个systemd服务文件。
创建服务文件:在/etc/systemd/system/目录下创建一个新的服务文件,例如your_project_name.service。
sudo nano /etc/systemd/system/your_project_name.service
编辑服务文件:在服务文件中添加以下内容:
[Unit]
Description=Your Golang Project
After=network.target
[Service]
User=your_user
Group=your_group
ExecStart=/path/to/deploy/your_project_name
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
重新加载systemd配置:
sudo systemctl daemon-reload
启动服务:
sudo systemctl start your_project_name
设置开机自启:
sudo systemctl enable your_project_name
查看服务状态:
sudo systemctl status your_project_name
查看日志:Golang项目的日志可以通过标准输出或文件输出。如果使用文件输出,可以在服务文件中配置日志路径:
[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=your_project_name
查看系统日志:
sudo journalctl -u your_project_name -f
确保CentOS服务器的防火墙允许访问Golang项目所需的端口。例如,如果项目运行在8080端口:
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
通过以上步骤,你可以在CentOS上成功部署并上线你的Golang项目。