1 购买云服务器
在华为云、腾讯云、阿里云购买一个微型服务器,由于还是学生,负担不起太贵的服务器,腾讯云目前有学生优惠价格,就使用腾讯云进行搭建,其他服务器类似。
- 注册腾讯云账号,并学生认证,打开网址腾讯云学生服务器,购买最低配置就可以了,目前是10元/月,另外由于老是输入IP不方便,这里购买一个域名服务8元。购买后,打开
控制台
,点击左侧实例
,就可以看到我们购买的服务器了,同时可以看到服务器的公网IP
,但是目前在浏览器输入此IP不会有任何反应,稍后来配置一个人格博客。可以参考重置密码,对服务器密码进行重置。重置密码后,参考安全组操作添加安全组规则。
- 然后就可以使用SSH(Linux下)或SecureCRT(Windows下),输入账号密码登陆到该服务器了。
2 注册域名与网站备案
这里给自己的网址想个名字,然后在控制台点击左上角的网站备案
,然后点击右下角的开始备案
进行网址备案。这里需要等待2-3天才能审核完毕。
3 域名解析
网址备案后,我们还需要将备案的网址与服务器的公网IP绑定起来,这样我们在浏览器输入我们的域名后,就能自动跳转到我们的公网IP了。参看文档快速添加域名解析进行设置。
4 使用LNMP和WordPress部署个人博客
详细过程参考大佬博客网站建设:个人网站快速搭建教程的第4步和第5步。
5 部署beego项目
使用远程登陆软件SSH或SecourCRT,部署golang和beego开发环境。
4-1 安装golang
1 下载二进制安装包,从二进制文件进行安装
- (翻墙)去go的官方下载页,下在Linux版本的二进制压缩包
2 进入安装包所在目录,解压安装包到目录/usr/local/go
sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
3 添加Go目录/usr/local/go/bin
到环境变量
export PATH=$PATH:/usr/local/go/bin
4 添加GOPATH环境变量,GOPATH是go语言的工作空间
export GOPATH=你的工作空间路径
# 将GOPATH添加到PATH变量中
export PATH=$PATH:$GOPATH/bin
5 然后在GOPATH所指目录下创建src、bin、pkg三个文件夹
安装成功,下面检验以下
查看go版本
go version
4-2 安装beego和bee工具
参看官方文档
4-3 部署beego项目
- 进入GOPATH,输入以下命令,会在GOPATH下创建一个hello项目。
cd
bee new hello
- 修改nginx配置文件如下:
user www www;
worker_processes auto;
error_log /home/wwwlogs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
multi_accept on;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
#limit_conn_zone $binary_remote_addr zone=perip:10m;
##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.
server_tokens off;
access_log off;
# 删除默认的server,添加以下server部分
server {
listen 80;
server_name www.a.com; #设置自己的域名
charset utf-8;
access_log /home/www.a.com.access.log; # 这里给日志文件命名为www.a.com.access.log
location /(css|js|fonts|img)/ {
access_log off;
expires 1d;
root /home/ubuntu/GO/src/hello/static; # 修改为hello项目的static路径
try_files $uri @backend;
}
location / {
try_files /_not_exists_ @backend;
}
location @backend {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://0.0.0.0:8081; # 这里把8081端口设置为
}
}
include vhost/*.conf;
}
然后输入以下命令测试nginx是否配置正确,并重载nginx
# 测试是否配置正确
sudo nginx -t
# 重载nginx配置文件
nginx -s reload
最后,就可以在另一台主机上的浏览器,输入域名,就可以访问我们的hello项目了。hello项目如下所示: