一、mac上安装nginx

brew install nginx
# 核心安装目录,启动文件在该目录的bin下面,欢迎页面在html下面。
/usr/local/Cellar/nginx/1.12.2_1

# 核心配置文件路径
/usr/local/etc/nginx/nginx.conf

# 服务器默认路径
/usr/local/var/www

访问http://localhost:8080,成功说明安装好了。

二、nginx命令行

# 开启
sudo nginx

# 查看是否正常开启
ps aux|grep nginx 

# 杀掉进程,比如PID为21391
sudo 

# 关掉
sudo nginx -s quit

# 重启
sudo nginx -s reload

三、nginx配置文件

1、网站目录权限问题(403 Forbidden)

user root owner;

2、设置网站根目录

root  /Users/crazy/Desktop/code/crazyman.github.io/dist;

3、设置server_name

做dns解析

#nginx.conf文件server_name  www.website.info;

打开finder,调出前往文件夹,输入/private/etc/,找到hosts文件,复制一份出来,修改

#hosts文件
127.0.0.1  www.website.info

再覆盖etc下的hosts文件,就可以用www.website.info访问本地服务器(nginx)。

如果生产环境模拟好了,记得把hosts文件再恢复到原来的样子,即去掉127.0.0.1  www.website.info,否则会出现一件尴尬的事,就是你线上访问www.website.info,老说「拒绝了我们的连接请求」。

另外,如果之前把dist目录没有提交到github,在.gitignore中忽略了,最后发布的时候,记得npm run build ,然后修改.gitignore文件,把产出目录dist提交上去。怪不得我纳闷儿本地的nginx跑的好好的,怎么到了真实环境就不行了呢?文件都没交上去,咋访问啊?

4、单页应用刷新后404

单页面应用在webpackdevserver都正常,部署到服务器后,一刷新,就404了。下面提供3种解决方案,仅供参考。

方案A:vue路由用hash模式,不用服务器做任何配合工作。

方案B:vue路由用history模式,nginx需要配置404页面。
error_page                /.html;

方案C:vue路由用history模式,出错总是跳到当前页面。
try_files $uri $uri/ /index.html;

nginx那些事儿的更多相关文章

  1. 小型 Web 页项目打包优化方案

    背景   目前团队中新的 Web 项目基本都采用了 Vue 或 React ,加上 RN,这些都属于比较重量级的框架,然而对于小型 Web 页面,又显得过大.早期的一些项目则使用了较原始的 HTML ...

  2. 小型web项目的模块化(转)

    背景   目前团队中新的 Web 项目基本都采用了 Vue 或 React ,加上 RN,这些都属于比较重量级的框架,然而对于小型 Web 页面,又显得过大.早期的一些项目则使用了较原始的 HTML ...

  3. apache和nginx那点事儿--阻塞和异步

    先明白的事儿:当一个程序在执行的时候,一般会创建一个进程,也可以有多个进程.一个进程至少会创建一个线程,多个线程共享一个程序进程的内存.程序的运行最终是靠线程来完成操作的.线程的数量跟CPU核数有关, ...

  4. StartCom 申请 SSL 证书及 Nginx HTTPS 支持配置全攻略

    来源:https://www.williamyao.com/index.php/archives/1397/ 前言 最近收到 StartCom 的邮件,数字证书即将过期,想到去年在 StartSSL ...

  5. 从零开始学 Java - 利用 Nginx 负载均衡实现 Web 服务器更新不影响访问

    还记得那些美妙的夜晚吗 你洗洗打算看一个小电影就睡了,这个时候突然想起来今天晚上是服务器更新的日子,你要在凌晨时分去把最新的代码更新到服务器,以保证明天大家一觉醒来打开网站,发现昨天的 Bug 都不见 ...

  6. 终于等到你---订餐系统之负载均衡(nginx+memcached+ftp上传图片+iis)

    又见毕业 对面工商大学的毕业生叕在拍毕业照了,一个个脸上都挂满了笑容,也许是满意自己四年的修行,也许是期待步入繁华的社会... 恰逢其时的连绵细雨与满天柳絮,似乎也是在映衬他们心中那些离别的忧伤,与对 ...

  7. 【T电商 1】Nginx服务器搭建

    在项目中,首先是需要Nginx服务器作为一个图片服务器来使用.那么,久涉及到服务器的搭建.这次服务器的搭建,主要是在三个环境上进行了学习:CentOS6.2,CentOS7,和Ubuntu16.那么本 ...

  8. 通过Nginx实现负载均衡

    百度了下负载均衡:英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器.FTP服务器.企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务 嗯,跟我理 ...

  9. [Nginx 2] form表单提交,图片上传

    导读:昨晚恶补了一些Nginx服务器的东西,从整体上对Nginx有一个初步的了解.上午去找师哥问了问目前项目中的使用情况,然后就开始上传图片了.这里就简单总结整理一下今天的成果,以后接着提升.简单粗暴 ...

随机推荐

  1. bzoj 2427

    非常好的一道题,可以说是树形dp的一道基础题 首先不难发现,:如果我们把有关系的两个点用有向边相连,那么就会形成一个接近树的结构.如果这是一棵完美的树,我们就可以直接在树上打背包了 但是这并不是一棵完 ...

  2. MySQL慢查询 - 开启慢查询

    一.简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 二.参数说明 slow_query_log 慢查询开启状态 slow_ ...

  3. Ajax爬虫必用到的字典转换器

    1.使用情景 在我们Ajax爬虫时需要用到以下这样的数据的时候我们会一个一个地复制粘贴,这样会很麻烦 def dictionary_converter(key_value): '''主要用于爬虫时复制 ...

  4. python:字符串转换成字节的三种方式及字符转码问题

    str='zifuchuang' 第一种 b'zifuchuang'第二种bytes('zifuchuang',encoding='utf-8')第三种('zifuchuang').encode('u ...

  5. GoogleTest入门

    Googletest入门 来源:https://github.com/google/googletest/blob/master/googletest/docs/primer.md P.S. gmoc ...

  6. Nginx限制下载速度

    http {   limit_conn_zone $binary_remote_addr zone=one:10m; #容器共使用10M的内存来对于IP传输开销 server {        lis ...

  7. 使用JDBC连接ElasticSearch6.3(ElasticSearch SQL JDBC)

    使用JDBC连接ElasticSearch6.3(ElasticSearch SQL JDBC) https://blog.csdn.net/scgaliguodong123_/article/det ...

  8. [转] Javascript模块化编程(一):模块的写法

    随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...

  9. Select2 多层次赋值时异步赋值的问题

    场景: 当选择人员时加载人员,选择部门时加载部门.所以在人员下,选择人员A后,如果选择部门,会触发二级select 重新获取数据. 问题: 使用select2()方法进行绑定远程数据后,对第二个sel ...

  10. EF连接MySql数据库

    Windows要想EF连接MySql,首先要安装两个应用程序 mysql-connector-net-6.8.8.msimysql-for-visualstudio-1.2.7.msi 项目还需要两个 ...