Mac环境下安装nginx并本地部署项目

news2024/11/24 14:02:55
1、前提

必须安装了homebrew,可在终端输入命令brew -v查看是否已经安装,如果输入指令出现版本号说明已经安装成功
在这里插入图片描述

如果未安装先安装(homebrew官网地址)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完之后再次输入brew -v查看是否有版本号

2、执行brew search nginx 命令查询要安装的软件是否存在

在这里插入图片描述

3、执行brew install nginx安装nginx

在这里插入图片描述

4、执行brew info nginx信息,可以查看ngxin下载的位置以及nginx配置文件存放路径等信息(以下是安装成功所展示的信息,不成功会提示其他信息)路径不用死记硬背,忘记了执行命令查看就可以了

在这里插入图片描述

在这里插入图片描述

5、查看nginx存放目录是不是如第4步所说的一致

终端执行以下命令:
在这里插入图片描述
终端执行以下命令:
在这里插入图片描述

六、在终端cd /opt/homebrew/Cellar/nginx/1.23.2/bin进入bin目录,然后执行nginx命令(没有报错就是启动成功)下图显示的端口号等下会说

在这里插入图片描述

7、根据需求或者实际情况,修改nginx的配置文件:

上图看到的端口号需要在 open /opt/homebrew/Cellar/nginx/1.23.2/bin此目录下的nginx.conf里面修改,
修改之后重新运行nginx -s reload命令就能打开你自定义的端口号啦
在这里插入图片描述
编辑器打开:
在这里插入图片描述

八、部署项目

1.首先需要将打包好的项目放到你指定的的路径下
我是存放在open /opt/homebrew/Cellar/nginx/1.23.2/duxi 此目录下
在这里插入图片描述
在nginx.conf里面的server对象下配置

本地测试没有配置代理如下配置
在这里插入图片描述
本地测试配置了代理
在这里插入图片描述
nginx.conf配置文件如下:


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8086;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        # location / {
        #     root   html;
        #     index  index.html index.htm;
        # }



        location /MARKETING/ {
            root /opt/homebrew/Cellar/nginx/1.23.2/duxi;
            try_files $uri $uri/ /MARKETING/index.html;
        }
        location /MARKETING/API/  {
            proxy_pass http://localhost:8082/marketing/;
        }

       

        # 测试
        location /MY_PROJECT/ {
            root /opt/homebrew/Cellar/nginx/1.23.2/duxi;
            try_files $uri $uri/ /MY_PROJECT/index.html;
        }
        # location /MARKETING/API/  {
        #     proxy_pass http://localhost:8082/marketing/;
        # }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    include servers/*;
}

配置完毕之后,重启nginx(nginx -s reload),然后把本地项目运行起来(npm run serve),然后把端口号改成nginx里面配置的端口号即可看到本地部署的项目
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/747995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue2+echarts5:2D地图打点、下钻

准备 要实现地图可点击、下钻,为了使地图有3D效果,原本用map3D需要下载依赖echarts-gl,由于存在地图下钻后在区域内无法展示完整地图,改用2D地图 "echarts": "^5.4.2", // "echarts-gl": "^2.0.9"…

ChatGpt基于第三方API2D服务封装的SpringBoot starter

前置条件&#xff1a; 看下API2D官网&#xff0c;第三方API2D服务对接流程&#xff1a; 其对接文档地址 https://api2d.com/wiki/doc 一:创建一个空的Maven项目 完成后整的项目层级图如下 1.pom.xml 中添加相关依赖包 <?xml version"1.0" encoding"UTF-…

《C语言初阶篇》听说你还不会for循环的变种写法?一文教你彻底搞懂循环语句!

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《快速入门C语言》《C语言初阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言&#x1f4ac; for 语句的介绍&#x1f4ad; for循环默认可以控制几条语句&#xff1f;&#x1f4ad; for语…

vite基于vue3项目,打包之后的文件夹增加一个额外的文件夹

vite将项目打包之后&#xff0c;自动会生成一个dist文件&#xff0c;里边只有/assets,index.html,favicon.ico.这三个文件。 现在需求是打包之后&#xff0c;dist文件夹下多怎加一个healthcheck的文件夹。 功能实现&#xff1a; 使用复制的方法&#xff0c;将healthcheck文件…

[C++] 为什么头文件最好只做声明

文章目录 问题阐述问题分析和解决方法参考 问题阐述 问题描述&#xff1a; 当编译大的复杂的工程时&#xff0c;经常会遇到一个函数在头文件定义的时候&#xff0c;会导致冲突的问题&#xff1b;下图给出显性原因分析&#xff1b; 问题分析和解决方法 参考 C/C中在头文件中定义…

我爱学QT-把QT程序打包成windows文件

学习链接&#xff1a; 把QT程序打包成Windows软件_哔哩哔哩_bilibili 什么是打包和部署&#xff1f; 因为我们要把写好的程序发给用户来用&#xff0c;我们写好的源码也不能随便给别人。 怎么打包和部署&#xff1f; 1.把工程切换到release模式 这样点 &#xff0c;然后编译…

阿里大模型——通义千问

目录 前段时间世界人工智能大会在上海举行&#xff0c;我去参观感受了一下&#xff0c;整个感受是有点名不副实的&#xff0c;参展的有各种银行、车企、还有中国电信、联通三个运营商都来凑热闹了。 但是也有Google、华为、阿里、腾讯、商汤这样的大厂。现场也可以体验一些大厂…

ESP32开发板引脚介绍【附有引脚使用实例】

ESP32开发板引脚介绍 文章目录 ESP32开发板引脚介绍&#x1f468;‍&#x1f3eb;内容1&#xff1a;背景&#x1f468;‍⚖️内容2&#xff1a;限制类引脚&#x1f468;‍&#x1f4bb;内容3&#xff1a;ESP32 周边设备&#x1f349;文末备注 &#x1f468;‍&#x1f3eb; &am…

shell编程基础(第11篇:重定向)

前言 编写shell脚本程序时&#xff0c;总会使用重定向技术&#xff0c;用来永久保存程序的输出到文件中&#xff0c;或者用来从文件中提取文本到程序中&#xff0c;都支持哪些重定向呢&#xff1f; 温习3个文件描述符 1、标准输入&#xff0c;标准规定通常是键盘&#xff0c;数…

【Ajax】笔记-POST请求(原生)

POST请求 html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>AJAX POST 请求</title><…

PFD 鉴相器设计

鉴相器一般用两个D触发器&#xff0c;一个与非门和一个延迟单元 假设两个D触发器脉冲信号完全相同&#xff0c;查看D触发器输出端可以看到&#xff0c;在脉冲信号到来之后&#xff0c;D触发器输出端电压随脉冲信号升高&#xff0c;两个DFF输出同时为高时&#xff0c;与非门输出…

国科生活小程序使用须知

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、子账号是什么&#xff1f;二、子账号怎么用&#xff1f;三、怎么创建子账号&#xff1f;四、账单怎么看&#xff1f;使用须知联系开发者 前言 国科生活小程…

代码随想录算法学习心得 44 | 309.最佳买卖股票的时机含冷冻期、714.买卖股票的最佳时机含手续费、最近买卖股票时机总结...

一、最佳买卖股票的时机含冷冻期 链接&#xff1a;力扣 描述&#xff1a;给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下&#xff0c;你可以尽可能地完成更多的交易&#xff08;多次买…

【Java】一篇文章彻底吃透抽象类和接口 |超详细,建议收藏

博主简介&#xff1a;努力学习的预备程序媛一枚~博主主页&#xff1a; 是瑶瑶子啦所属专栏: Java岛冒险记【从小白到大佬之路】 文章目录 一、抽象类1.1&#xff1a;抽象类的概念1.2&#xff1a;抽象类的定义1.3&#xff1a;抽象类的特性1.4&#xff1a;抽象类的作用和意义 二、…

捕获FormData实现极简的上传图片到服务器-实战

1.postman设置请求和查看响应结果 说明&#xff1a;上图中通过传入参数名为avatar,参数值为file格式&#xff0c;请求方式为post,采用form-data格式传入服务器。响应结果。 2.html5网页实现 <input type"file" class"upload_inp" /><button cla…

java堆溢出和栈溢出

一、堆溢出 import java.util.ArrayList; import java.util.List;public class Demo_071202 {public static void main(String[] args) {List<Test> listnew ArrayList<>();while (true){list.add(new Test());}}static class Test{} }设置JVM初始堆空间和最大堆…

告别传统MQ:Kafka是一个分布式事件流平台,这到底意味着什么呢?

1、引言 在大数据时代&#xff0c;实时数据处理和流式数据分析变得越来越重要。为了应对大规模数据的高吞吐量和低延迟处理需求&#xff0c;出现了各种分布式流处理平台。其中&#xff0c;Apache Kafka作为一种高性能、可扩展的分布式消息系统&#xff0c;成为了广泛应用于实时…

并发编程 - EDA 实操

文章目录 需求CodeUser定义不同类型的EventChat Channel(Handler)Chat User线程小结需求 借助我们开发的EDA小框架,模拟一个简单的聊天应用程序。 Code User 我们定义一个User对象,代表聊天室的参与者 package com.artisan

【每日一题】931 . 最小下降路径总和

【每日一题】931 . 最小下降路径总和 931 . 最小下降路径总和题目描述解题思路 931 . 最小下降路径总和 题目描述 给你一个n x n方形队列&#xff0c; matrix请你找出并返回matrix下降路径 的最小和。 下降路径可以从第一行中的任意元素开始&#xff0c;并从每一行中选择一个…

函数基础

一、初识函数 函数&#xff0c;可以当做是一大堆功能代码的集合。 def 函数名():函数内编写代码......函数名()例如&#xff1a; # 定义名字叫info的函数 def info():print("第一行")print("第二行")print("第n行...")info()运用函数的场景&a…