当前位置: 首页> 娱乐> 影视 > 网站建设的重要性_建立网站需要多少钱?_重庆黄埔seo整站优化_教育培训网站大全

网站建设的重要性_建立网站需要多少钱?_重庆黄埔seo整站优化_教育培训网站大全

时间:2025/7/18 0:12:09来源:https://blog.csdn.net/weixin_60214397/article/details/143315089 浏览次数:0次
网站建设的重要性_建立网站需要多少钱?_重庆黄埔seo整站优化_教育培训网站大全

文章目录

  • 学习笔记-Nginx
    • 0. Nginx介绍
    • 1. Nginx下载安装
    • 2. 启动web服务和Nginx配置
      • 2.1 启动服务
      • 2.2 Nginx配置
    • 3. 测试
    • 4. 扩展

学习笔记-Nginx

在查阅资料时发现,很少有人介绍怎么在golang中使用nginx,为此,我们选择写一篇简单的,适合新手的在基于go的web项目中使用nginx的教程。

0. Nginx介绍

Nginx是一个开源的高性能 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3 的代理服务器。它最初是由 Igor Sysoev 开发的,旨在处理高并发连接,并提供更高效的资源管理和负载均衡。

在基于 Go 的 Web 项目中,Nginx 通常被用作反向代理服务器即将外部请求转发到运行在不同端口的 Go 应用,同时隐藏应用的真实端口,从而简化访问。同时,Nginx可以用于处理 HTTPS 请求,减少 Go 应用的 SSL/TLS 处理负担,同时集中管理证书。

1. Nginx下载安装

首先,我们需要下载Nginx。在Linux系统(Ubuntu 20.04)中,我们可以使用yum、apt-get等包管理工具进行安装。
这里以apt为例,安装Nginx:

sudo apt update
sudo apt install nginx

安装完成后,我们可以使用以下命令查看Nginx的版本:

nginx -v

接下来通过启动nginx服务来测试是否安装成功:

sudo service start nginx
sudo service nginx status

如果看到nginx的版本号和启动状态,说明安装成功。

此时,在浏览器中,打开http://localhost,可以看到nginx的欢迎页面。

2. 启动web服务和Nginx配置

2.1 启动服务

我们在localhost上启动一个简单的web服务,并让其运行在8888端口。

package mainimport ("fmt""net/http"
"github.com/gin-gonic/gin"
)func main() {r := gin.Default()r.GET("/", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"message": "Hello, World!",})})r.Run(":8888")
}

此时访问http://localhost:8888,可以看到返回的json数据。但是很容易发现,访问需要提供具体的端口号,这很不方便。此外,当存在多个路由对应多个不同的端口号时,访问会变得极其复杂。同时,由于暴露了具体的端口,可能会导致安全问题。为此,我们配置 Nginx 来将不同的请求路由到相应的服务,而不需要直接暴露内部端口。

2.2 Nginx配置

我们需要创建一个新的Nginx配置文件,并将其命名为my_app.conf

  1. /etc/nginx/sites-available/目录下创建一个新的配置文件:
sudo nano /etc/nginx/sites-available/my_app.conf
  1. 在打开的编辑器中,输入以下内容:
server {listen 80;server_name 172.25.164.190;  # 替换为你的 IP 地址或域名# 配置静态文件目录location /static/ {alias /var/www/your-app/static/;  # 指向静态资源所在的目录expires 30d;                      # 缓存静态资源 30 天}# 配置动态请求location / {proxy_pass http://localhost:8888;  # 你的 Go 应用地址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;}
}
  1. 保存并退出编辑器。

  2. 启用刚刚创建的配置文件:

sudo ln -s /etc/nginx/sites-available/my_app.conf /etc/nginx/sites-enabled/
  1. 重启Nginx:
sudo nginx -s reload

这样,Nginx就配置好了,可以将请求路由到Web应用。

3. 测试

打开浏览器,访问http://172.25.164.190,可以看到返回的json数据,而无需提供具体的端口号。

4. 扩展

当需要访问多个端口时,可以进一步更改Nginx 配置文件,添加多个server块,并配置不同的端口号。

server {listen 80;  # Nginx 监听 80 端口location /api/ {proxy_pass http://localhost:8888;  # 将以 /api/ 开头的请求转发到 Go 应用(运行在8888端口)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;}location /static/ {root /var/www/html;  # 直接提供静态文件服务}location / {proxy_pass http://localhost:3000;  # 将其他请求转发到另一个后端服务(运行在3000端口)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;}
}

配置说明:

  • listen 80;: Nginx 监听 80 端口,接收来自用户的请求。
  • location /api/: 将以 /api/ 开头的请求转发到 Go 应用(运行在8888端口)。
  • location /static/: 直接提供静态文件服务。
  • location /: 将其他请求转发到另一个后端服务(运行在3000端口)。

这样,Nginx 将不同的请求分发到不同的服务和端口,这样可以实现更灵活的服务架构和负载均衡。

todo: 通过Nginx,完善HTTPS配置

关键字:网站建设的重要性_建立网站需要多少钱?_重庆黄埔seo整站优化_教育培训网站大全

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: