导航:首页 > 配服务器 > go应用部署到云服务器

go应用部署到云服务器

发布时间:2022-11-21 01:10:39

① 如何部署Golang应用

安装supervisord

# 通过引导程序 ez_setup.py 来安装。这个引导程序会联网下载最新版本setuptools来安装,同时也可以更新本地的setuptools。
wget http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py

# 更新setuptools:
sudo python ez_setup.py -U setuptools

# 安装supervisor
easy_install supervisor

# 生成配置文件
echo_supervisord_conf >/etc/supervisord.conf

# 编辑配置文件
vim /etc/supervisord.conf
# 进入vim后找到最后两行,打开注释(取消前面的分号),
# [include]
# files = supervisor.d/*.ini

# 将所有的supervisor配置都放到 /etc/supervisor.d目录
mkdir /etc/supervisor.d
创建 supervisor 对应程序的配置文件

其中的一些路径需要换成自己对应的,这里将 zankbo 这个web 应用放在了对应的用户目录下

通过在生产服务器上设置environment可以在程序里判断是线上还是开发模式,如 zankbo 的 debug判断

当然也可已在启动命令处加入参数,如 command = /home/zankbo/gopath/src/zankbo/zankbo -d 来关闭Debug模式。
if os.Getenv("APP_NAME") == "ZANKBO_PRODUCT" {
beego.RunMode = "prod"
}
vim /etc/supervisor.d/zankbo.ini
# 写入
[program:zankbo]
directory = /home/zankbo/gopath/src/zankbo
environment=APP_NAME="ZANKBO_PRODUCT"
command = /home/zankbo/gopath/src/zankbo/zankbo
autostart = true
startsecs = 5
user = zankbo
redirect_stderr = true
stdout_logfile = /home/zankbo/log/zankbo.log
建立对应的用户

useradd zankbo
# 将www用户加入到zankbo用户组,Nginx以www用户运行
usermod -a -G zankbo www
# 更改用户家目录用户组的权限,使Nginx可以访问
chmod g+rx /home/zankbo
部署Go环境

其中的目录为,go:Go安装目录 gopath:Go工作目录,下面有src、pkg、bin三个目录 log:日志文件夹

[zankbo@MyCloudServer ~]$ pwd
/home/zankbo
[zankbo@MyCloudServer ~]$ vim .bashrc

# 设置Go环境变量,在.bashrc文件末尾写下如下内容
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bi
# 切换到用户家目录
[root@MyCloudServer ~]# su - zankbo
[zankbo@MyCloudServer ~]$ ls
go gopath log
将项目代码放到gopath/src下面,如我的播客项目:
[zankbo@MyCloudServer ~]$ tree -L 2 gopath/src/
gopath/src/
├── github.com
│ ├── astaxie
│ ├── beego
│ ├── go-sql-driver
│ ├── howeyc
│ ├── jacobsa
│ ├── smartystreets
│ └── wendal
└── zankbo
├── admin
├── blog
├── build_pkg.sh
├── common
├── conf
├── controllers
├── dbstruct.mwb
├── main.go
├── models
├── static
├── views
└── zankbo
导入项目sql文件到数据库
在项目文件夹执行build
[zankbo@MyCloudServer zankbo]$ pwd
/home/zankbo/gopath/src/zankbo
[zankbo@MyCloudServer zankbo]$ go build
会在项目下生成与包名对应的可执行文件,这里为:zankbo,build的时候可能会遇到错误,比如mysql的密码之类的,可根据提示排错。
通过supervisor 来启动服务
# supervisorctl start zankbo
配置Nginx
server {
listen 80;
server_name zankbo.com www.zankbo.com;
root /home/zankbo/gopath/src/zankbo;
error_log logs/zankbo.com.error.log warn ;
location /static/ {
root /home/zankbo/gopath/src/zankbo;
location ~ .*\.(js|css)$ {
access_log off;
expires 1d;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
gzip off;
access_log off;
expires 3d;
}
}
location / {
proxy_pass http://127.0.0.1:8080;
}
}

云服务器的用途有哪些

云服务器的用途非常多,例如:

1、建网站。

利用着名的WordPress可以让小白和新手搭建一个网站。

2、技术编程

现在互联网行业大爆发,衍生出来的技术岗位多不胜数,为了就业,为了拿好的待遇,你没有理由不借助云服务器来学习技术编程。优先学习Web应用开发编程,然后在云服务器上部署你的Web应用,让你所学的东西在线上环境下得到检验。爱好学习者,必须上云。

3、软件应用开发与部署。

可以把个人业余开发的开源Web应用部署到云服务器上,然后写技术教程建立个人技术品牌,未来的时代,是个人品牌的时代,有了个人品牌,你不必依靠平台吃饭。你的个人IP就能让你自食其力,持续打造自身专业的影响力。借助云技术,行动起来吧。

4、运维测试。

企业应用和个人应用测试用。性能压力测试,线上环境模拟测试等测试技能。

5、微服务开发。

大型互联网微服务应用已经不可能把各个服务都放在一台云服务器上,而是分散在数量庞大的云服务器上,分散访问压力。如果你要深入学习微服务,你有必要弄几台云服务器来部署你的应用,然后让别人看到你的成果。

云服务器的使用场景汇总:

1.搭建网站。个人博客,技术博客,生活随笔,产品推广等各种类型的网站。

2.编程。Java web编程+php web编程+python web编程+go web编程等等。

3.学习企业软件运维技能。

4.部署开源系统,可以上github上看,有很多大牛都借助云服务器部署开源项目。

5.自己接外包,做软件项目需要用到。

6.小程序,app,前端H5开发, 游戏 开发等等都需要用到。

7.互联网微服务架构,分布式系统开发都需要用到云服务器环境。

拥有一台云服务器,可以做很多事情。

更多使用技巧,点击原文:云服务器的用途有哪些? - 云产品体验

③ Golang项目部署3,容器部署

容器部署即使用 docker 化部署 golang 应用程序,这是在云服务时代最流行的部署方式,也是最推荐的部署方式。

跨平台交叉编译是 golang 的特点之一,可以非常方便地编译出我们需要的目标服务器平台的版本,而且是静态编译,非常容易地解决了运行依赖问题。

使用以下指令可以静态编译 Linux 平台 amd64 架构的可执行文件:

生成的 main 便是我们静态编译的,可部署于 Linux amd64 上的可执行文件。

我们需要将该可执行文件 main 编译生成 docker 镜像,以便于分发及部署。 Golang 的运行环境推荐使用 alpine 基础系统镜像,编译出的容器镜像约为 20MB 左右。

一个参考的 Dockerfile 文件如下:

其中,我们的基础镜像使用了 loads/alpine:3.8 ,中国国内的用户推荐使用该基础镜像,基础镜像的 Dockerfile 地址: https://github.com/johngcn/dockerfiles ,仓库地址: https://hub.docker.com/u/loads

随后使用 " docker build -t main . " 指令编译生成名为 main 的 docker 镜像。

需要注意的是,在某些项目的架构设计中, 静态文件 配置文件 可能不会随着镜像进行编译发布,而是分开进行管理和发布。

例如,使用 MVVM 模式的项目中(例如使用 vue 框架),往往是前后端非常独立的,因此在镜像中往往并不会包含 public 目录。而使用了 配置管理中心 (例如使用 consul / etcd / zookeeper )的项目中,也往往并不需要 config 目录。

因此对于以上示例的 Dockerfile 的使用,仅作参考,根据实际情况请进行必要的调整。

使用以下指令可直接运行刚才编译成的镜像:

容器的分发可以使用 docker 官方的平台: https://hub.docker.com/ ,国内也可以考虑使用阿里云: https://www.aliyun.com/proct/acr 。

在企业级生产环境中, docker 容器往往需要结合 kubernetes 或者 docker swarm 容器编排工具一起使用。
容器编排涉及到的内容比较多,感兴趣的同学可以参考以下资料:

④ 如何将app部署在阿里云服务器上

1。远程登录第一次购买ECS后,会把该ECS服务器的root账号、密码发送购买者的邮箱,然后购买者可以通过远程登录到ECS服务器。

2。安装web环境根据自己应用特点选择安装相关web服务器tomcat或者jetty,阿里云提供了一条龙安装部署脚本,为开发者提供了更多的方便。

3。打包应用将web源码下载到本地,使用命令mvnpackage打成war包。如果不是maven工程,可以用类似ant打成war包。

4。上传war包Linux下面可以使用sftp上传war包,上传war包到指定目录后进行解压

5。启动web服务将tomcat或jetty服务启动。

6。配置反向代理、绑定域名。

⑤ 部署beego项目到远程服务器

1、编译环境 Ubuntu17.10 x64
2、服务器环境 centOS 6.0 x64
通过bee pack 命令对项目进行打包 ,具体参考 beego主页

参考 我的文章: ubuntu ssh 连接远程服务器 ,描述的非常清晰

ssh连接服务器 进入到拷贝的目录:
解压到当前目录 : tar -xvf beego_project.tar.gz
运行nohup ./beego_project
关闭终端。
在本机浏览器中输入 IP地址+端口号 或者 服务器网址。就可以看到你的项目了。

这是本人的一个 练手项目 。
登录的用户名和密码 都是admin。
cookies有效时常为:7*24 小时。

请大家指正。

由 干货集中营 提供的 API

⑥ 如何将APP部署在华为企业云服务器上

操作步骤:
1、在本地电脑上,快捷键“WIN+R"在“运行”中输入“MSTSC”,点击确定。
2、在“远程桌面连接”框框点击“选项”展开。(计算机中输入华为云服务器的IP地址)
3、在展开的“远程桌面连接”窗口,点击“本地资源”。
4、然后点击“详细信息”。
5、勾选要上传华为云服务器的文件所在的本地磁盘,点击确定
6、进行用户名和密码核对后连接上远程华为云云服务器,打开“我的电脑”,就可以看到勾选的本地磁盘映射的盘符。
7、打开要上传文件所在磁盘,选择要上传的文件,复制之后粘贴到华为云服务器自动的磁盘上,即完成上传。

⑦ 请问如何用GoAgent部署云计算平台

这个不让说,挺简单的.点云的和英雄酷的我都弄了,很可惜,最新的还是不能SOCKS5...有bug...其实你可以GOOGLE一下点云的,注册一个号,还可以架设个自己的SSH.目前还不知道点云上有没有APP数量的限制,

⑧ 如何将APP部署在阿里云服务器上

1。远程登录第一次购买ECS后,会把该ECS服务器的root账号、密码发送购买者的邮箱,然后购买者可以通过远程登录到ECS服务器。

2。安装web环境根据自己应用特点选择安装相关web服务器tomcat或者jetty,阿里云提供了一条龙安装部署脚本,为开发者提供了更多的方便。

3。打包应用将web源码下载到本地,使用命令mvnpackage打成war包。如果不是maven工程,可以用类似ant打成war包。

4。上传war包Linux下面可以使用sftp上传war包,上传war包到指定目录后进行解压。

5。启动web服务将tomcat或jetty服务启动。

6。配置反向代理、绑定域名。

⑨ 如何在Docker中设置Go并部署应用

步骤一 - 创建Dockerfile
如下的Dockerfile可以满足以上的要求:
**FROM** golang:1.6
*# Install beego and the bee dev tool*
**RUN** go get github.com/astaxie/beego && go get github.com/beego/bee
*# Expose the application on port 8080*
**EXPOSE** 8080
*# Set the entry point of the container to the bee command that runs the*
*# application and watches for changes*
**CMD** ["bee", "run"]
第一行,
FROM golang:1.6
将Go的官方映像文件作为基础映像。该映像文件预安装了 Go 1.6 . 该映像已经把 $GOPATH 的值设置到了 /go 。所有安装在 /go/src 中的包将能够被go命令访问。
第二行,
RUN go get github.com/astaxie/beego && go get github.com/beego/bee
安装 beego 包和 bee 工具。 beego 包将在应用程序中使用。 bee 工具用语在开发中再现地重新加载我们的代码。
第三行,
EXPOSE 8080
在开发主机上利用容器为应用程序开放8080端口。
最后一行,
CMD ["bee", "run"]
使用bee命令启动应用程序的在线重新加载。
步骤二 - 构建image
一旦创建了Docker file,运行如下的命令来创建image:
docker build -t ma-image .
执行以上的命令将创建名为ma-image的image。该image现在可以用于使用该应用程序的任何人。这将确保这个团队能够使用一个统一的开发环境。
为了查看系统上的image列表,运行如下的命令:
docker images
这行该命令将输出与以下类似的内容:
REPOSITORY TAG IMAGE ID CREATED SIZE
ma-image latest 8d53aa0dd0cb 31 seconds ago 784.7 MB
golang 1.6 22a6ecf1f7cc 5 days ago 743.9 MB
注意image的确切名字和编号可能不同,但是,应该至少看到列表中有 golang 和 ma-image image。
步骤三 - 运行容器
一旦 ma-image 已经完成,可以使用以下的命令启动一个容器:
docker run -it --rm --name ma-instance -p 8080:8080 \
-v /app/MathApp:/go/src/MathApp -w /go/src/MathApp ma-image

阅读全文

与go应用部署到云服务器相关的资料

热点内容
asp程序员收入 浏览:332
无线有密码显示未加密 浏览:210
检查服务器地址命令 浏览:597
编译过程和解释过程的图表形式 浏览:835
文明重启如何弄自己的服务器免费 浏览:912
服务器权限不足如何解决 浏览:373
少儿编程乐高主要是学什么 浏览:674
张家口人社app如何实名认证 浏览:296
淘宝图片怎么设置加密 浏览:314
pdf拼接器 浏览:786
只有程序员能看得懂 浏览:183
java打成jar包 浏览:214
朗动大屏怎么连安卓 浏览:331
如何把微信挂在服务器上 浏览:822
linux比对两个文件夹文件差异 浏览:457
火牛app怎么刷火钻 浏览:560
高中vb编程 浏览:818
国家反诈中心app如何设置来电预警 浏览:427
vB6如何做opc服务器接口 浏览:252
数学分析考研真题pdf 浏览:371