ubuntu安装nginx并发布vue项目

1.安装nginx

1.1.更新源列表

apt-get update

1.2.安装nginx

apt-get install nginx

1.3.查看nginx版本,确认是否安装成功

nginx -v

2.nginx文件默认路径

使用apt-get安装后,nginx的默认路径为

  • /usr/sbin/nginx:主程序
  • /etc/nginx:存放配置文件(nginx.conf)
  • /usr/share/nginx:存放静态文件
  • /var/log/nginx:存放日志

3.配置nginx

3.1.配置监听端口号、访问IP、代理跨域

nginx.conf配置文件中并没有配置端口号和IP,这个我们需要自己手动添加,为了便于修改,我们将vue项目的配置放在其他地方文件里,在nginx.conf 只需要将vue项目的配置文件所在路径引入即可。

3.2.创建配置文件

将文件存放到/etc/nginx/hosts下

  • 进到/etc/nginx
cd /etc/nginx
  • 创建hosts文件夹
mkdir hosts
  • 进到/etc/nginx/hosts
cd /etc/nginx/hosts
  • 新建 server0.host 文件,名字和后缀可以自己命名,这个文件用来保存vue项目的相关配置
touch server0.host
  • 编辑server0.host文件
vim server0.host
  • 添加以下配置

server {
    listen       8080;                   #自己设置端口号
    server_name  xxx.xxx.xxx.xxx;        #自己设置ip地址
    location / {
        root   /usr/share/nginx/dist;        #这里写vue项目打包好的dist文件的地址
        index  index.html;               #这里是vue项目的首页,需要保证dist中有index.html文件
        try_files $uri $uri/ @router;
    }
 
    location @router {
		rewrite ^.*$ /index.html last;            #解决重新刷新页面,页面空白的问题
	}
        
    location /api/ {                                #/api/不是固定的,得看你项目里面定义的是什么,这里就是什么
        proxy_pass http://xxx.xxx.xxx.xxx:9090/;    #9090是后端端口
        proxy_set_header Host $host;
    	proxy_set_header X-Real-IP $remote_addr;
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    error_page   500 502 503 504  /50x.html;#错误页面
}
# 如有多个服务可以配置多个server
server {
    listen       8081;                   #自己设置端口号
    server_name  xxx.xxx.xxx.xxx;        #自己设置ip地址
    location / {
        root   /usr/share/nginx/dist;        #这里写vue项目打包好的dist文件的地址
        index  index.html;               #这里是vue项目的首页,需要保证dist中有index.html文件
        try_files $uri $uri/ @router;
    }
 
    location @router {
		rewrite ^.*$ /index.html last;            #解决重新刷新页面,页面空白的问题
	}
        
    location /api/ {                                #/api/不是固定的,得看你项目里面定义的是什么,这里就是什么
        proxy_pass http://xxx.xxx.xxx.xxx:9090/;    #9090是后端端口
        proxy_set_header Host $host;
    	proxy_set_header X-Real-IP $remote_addr;
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    error_page   500 502 503 504  /50x.html;#错误页面
}
  • Host头部 :这个指令设置了传递给后端服务器的 Host 头部。$host是nginx的变量,表示客户端请求中的 Host 头部的值。这是必须的,因为后端服务器需要知道客户端请求的主机名以正确响应请求。
  • X-Real-IP头部 :这个指令设置了传递给后端服务器的 X-Real-IP 头部,它将客户端的真实IP地址(即发起请求的客户端的IP地址)传递给后端服务器。在nginx作为反向代理时,$remote_addr 变量代表了客户端的IP地址。
  • X-Forwarded-For头部:这个指令设置了传递给后端服务器的 X-Forwarded-For 头部,用于记录所有代理服务器(包括nginx本身)的IP地址。这个头部对于了解请求的真实来源特别有用,尤其是在多级代理的情况下。$proxy_add_x_forwarded_for 是nginx的变量,它会自动将当前请求的客户端IP地址添加到 X-Forwarded-For 头部的列表中。

Host头部是必须的,因为后端服务器需要知道请求的主机名。如果不设置,后端服务器可能无法正确处理请求。
X-Real-IP 和 X-Forwarded-For 头部通常情况下是推荐加上的,特别是在nginx作为反向代理时。这些头部可以帮助后端服务器获取客户端的真实IP地址和代理链信息,用于调试、安全审计和其他用途。虽然有些情况下可以不加,但通常推荐加上以确保最佳的请求处理和安全性。

3.3.配置vue项目文件路径

cd /etc/nginx

编辑nginx.conf文件

vim nginx.conf

添加以下配置文件,告诉nginx配置文件所在路径

include /etc/nginx/hosts/*.host;

在这里插入图片描述

3.4.检查nginx配置文件语法是否有错误

nginx -t

如果没有语法错误,将会显示类似以下内容:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

4.nginx相关指令

4.1.启动nginx

systemctl start nginx

4.2.停止nginx

systemctl stop nginx

4.3.重启nginx

systemctl reload nginx

4.4.查看nginx状态

systemctl status nginx

5.nginx卸载指令

移除 nginx 软件包以及和 nginx 相关的共享配置和数据文件。但它不会删除依赖的软件包或配置文件

sudo apt-get remove nginx nginx-common

purge命令将会移除 nginx 软件包及其相关的配置文件,完全清理掉所有与 nginx 相关的数据

sudo apt-get purge nginx nginx-common

自动移除已经不再需要的系统依赖包。当您移除软件包后,可能会产生一些不再需要的依赖包,autoremove命令可以将这些不再需要的包一并清理掉

sudo apt-get autoremove

移除 nginx 软件包以及共享的配置和数据文件,但是针对的是名为 nginx-full 的特定软件包和 nginx-common

sudo apt-get remove nginx-full nginx-common
  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值