nginx部署

本文详细介绍了如何部署项目到nginx服务器,包括项目打包、将构建文件上传到服务器、配置nginx及重启nginx服务,最后通过服务器IP和端口号访问项目。

1. 项目打包

npm run build 

2. 将build 出来的文件放到服务器一路径下

scp -r build root@47.93.XX.X:/home/site

3. 配置nginx

mkdir /etc/nginx/sitehost

cd /etc/nginx/sitehost && touch sitehosts.conf

vim sitehosts.conf

输入以下内容

server {
 listen 8888;  # 端口号
 server_name  localhost; 
 root  /home/site/;  #项目服务器路径
 location / {
  try_files $uri @fallback;
 }
 location @fallback {
  rewrite .* /index.html break;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
  root html;
 }
}

将上述的配置写到nginx.conf 文件中

vim /etc/nginx/nginx.conf
http {
  include       /etc/nginx/sitehost/*.conf; #主要写这一行
  include       mime.types;
  ...
  server {
    ....
  }
  ...
}

4. 重启nginx

ps -ef | grep nginx 

kill -9 nginx 主端口号 # 杀掉 nginx端口号

nginx  # 启动nginx

这时在浏览器输入你服务器ip加端口号就可以了。
这里写图片描述

查看哪些端口已被占用:

netstat -ant|grep LISTEN

这里写图片描述

<think> 我们正在讨论Nginx部署的相关内容,根据用户的问题“请问nginx部署方法和步骤”,我们需要提供Nginx部署的通用方法和步骤。结合引用的内容,我们可以总结出以下几个方面: 1. Ingress-Nginx在Kubernetes中的部署(引用[1]) 2. 部署前端项目(如Vue项目)到Nginx的步骤(引用[2]、[3]、[4]) 由于用户问题比较宽泛,我们可以分为两个主要场景: 场景一:在Kubernetes集群中部署Ingress-Nginx(作为Ingress Controller) 场景二:在服务器上部署Nginx并配置前端项目(如Vue项目) 我们将分别介绍这两个场景的部署步骤。 注意:用户没有指定具体场景,因此我们提供两种常见的部署场景。 首先,我们介绍在服务器上部署Nginx并配置前端项目(如Vue项目)的步骤,因为这是更基础的部署方式。 然后,我们再介绍在Kubernetes中部署Ingress-Nginx的步骤。 步骤中需要确保LaTeX格式正确(行内公式用$...$,独立公式用$$...$$),但我们这里主要是配置步骤,可能涉及公式较少,但如果有变量或配置项需要强调,我们可以使用行内公式。 同时,按照要求生成相关问题。 开始回答: </think> ### Nginx部署方法与步骤 根据引用内容,Nginx部署主要分为两种场景:**基础Nginx部署前端项目**和**Kubernetes Ingress-Nginx部署**,以下是详细步骤: --- ### 一、基础Nginx部署前端项目(以Vue为例) #### 1. 前端项目准备 ```bash # 在项目根目录打包生成dist文件夹 npm run build # 或 yarn build ``` 生成静态文件位于`dist`目录(引用[3])。 #### 2. 安装Nginx - **Linux系统**(以Ubuntu为例): ```bash sudo apt update sudo apt install nginx ``` - **Windows系统**: 从[官网下载](https://nginx.org/en/download.html)并解压到指定目录(引用[2])。 #### 3. 配置Nginx 编辑配置文件(通常位于`/etc/nginx/nginx.conf`或解压目录下的`conf/nginx.conf`): ```nginx http { server { listen 80; # 监听端口 server_name your-domain.com; # 域名或IP location / { root /path/to/dist; # 指向打包后的dist目录 index index.html; # 入口文件 try_files $uri $uri/ /index.html; # 解决Vue路由问题 } } } ``` ⚠️ 注意: - 每行配置末尾需加`;`(引用[4]) - 修改后重启Nginx生效: ```bash nginx -s reload # Linux # Windows需任务管理器重启进程(引用[4]) ``` #### 4. 验证访问 浏览器访问`http://your-domain.com`或服务器IP,显示前端页面即部署成功。 --- ### 二、Kubernetes部署Ingress-Nginx #### 1. 安装Ingress Controller ```bash # 使用Helm安装(推荐) helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm install ingress-nginx ingress-nginx/ingress-nginx ``` #### 2. 配置Ingress规则 创建YAML文件(如`ingress.yaml`): ```yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: example-ingress spec: ingressClassName: nginx rules: - host: your-domain.com # 访问域名 http: paths: - path: / pathType: Prefix backend: service: name: your-service # 后端Service名称 port: number: 80 # Service端口 ``` #### 3. 应用配置 ```bash kubectl apply -f ingress.yaml ``` #### 4. 工作原理 1. Ingress Controller监听规则变化 2. 动态生成Nginx代理配置 3. 更新Nginx服务并生效(引用[1]) --- ### ⚠️ 常见问题处理 1. **访问404错误** - 检查`root`路径是否正确 - Vue项目需添加`try_files $uri $uri/ /index.html;`(引用[3]) 2. **配置未生效** - Windows需重启Nginx进程(引用[4]) - Linux执行`nginx -t`检查语法 3. **跨域问题** 在Nginx配置中添加: ```nginx location / { add_header 'Access-Control-Allow-Origin' '*'; } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值