nginx配置React静态页面的方法教程


Posted in Javascript onNovember 03, 2017

前言

本文主要给大家介绍了关于nginx配置React静态页面的相关内容,文中给大家详细介绍了关于nginx的安装以及一些基本操作,然后给大家分享了React 静态页面 nginx 配置简洁版的示例代码,下面话不多说了,来一起看看详细的介绍吧。

关于nginx的安装启动以及80端口被占用的解决方法,大家也可以参考这篇文章:https://3water.com/article/110291.htm

第一步:安装

1、http://nginx.org/en/download.html 下载

2、tar -xf nginx-1.2.0.tar.gz

.3、进入解压目录  chmod a+rwx *

4、 ./configure --without-http_rewrite_module

5、make && make install

6、sudo /usr/local/nginx/sbin/nginx

7、浏览器访问 localhost

8、惊奇地发现欢迎页面

第二步:基本操作

启动

cd /usr/local/nginx/sbin
./nginx

软链接

启动那么麻烦,我想直接打nginx启动!

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

查看启动的配置文件

sudo nginx -t

重启

sudo nginx -s reload

关闭

ps -ef | grep nginx
kill -QUIT xxxx

第三步 React 静态页面 nginx 配置 简洁版

worker_processes 1;

events {
 worker_connections 1024;
}


http {
 include mime.types;
 default_type application/octet-stream;
 sendfile on;
 keepalive_timeout 65;
 server {
 listen 8080;
 server_name localhost;

 root /Users/jasonff/project/erp-web;

 location / {
  try_files $uri @fallback;
 }

 location @fallback {
  rewrite .* /index.html break;
 }

 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
  root html;
 }
 }
 include servers/*;
}

若干解释:

  • 我的配置文件在哪里?
  • 想知道自己的配置文件在哪里,查看第二步中的查看启动配置文件,然后将需要的配置写在这个文件里面。

第四步:多个站点布置

在nginx.conf 文件所在目录中,新建一个文件夹 vhost ,新建若干个文件,例如 example1.conf 、 example2.conf ……

server {
 listen 8030;
 server_name localhost;
 root /Users/jasonff/project/souban-website;
 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

worker_processes 1;
events {
 worker_connections 1024;
}

http {
 include mime.types;
 default_type application/octet-stream;
 sendfile on;
 keepalive_timeout 65;
 include vhosts/*;
 //加入include vhosts/*
}

附录:配置介绍(字典查询)

#运行用户
user nobody;
#启动进程,通常设置成和cpu的数量相等
worker_processes 1;

#全局错误日志及PID文件
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;

#工作模式及连接数上限
events {
 #epoll是多路复用IO(I/O Multiplexing)中的一种方式,
 #仅用于linux2.6以上内核,可以大大提高nginx的性能
 use epoll; 

 #单个后台worker process进程的最大并发链接数 
 worker_connections 1024;

 # 并发总数是 worker_processes 和 worker_connections 的乘积
 # 即 max_clients = worker_processes * worker_connections
 # 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4 为什么
 # 为什么上面反向代理要除以4,应该说是一个经验值
 # 根据以上条件,正常情况下的Nginx Server可以应付的最大连接数为:4 * 8000 = 32000
 # worker_connections 值的设置跟物理内存大小有关
 # 因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数
 # 而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右
 # 我们来看看360M内存的VPS可以打开的文件句柄数是多少:
 # $ cat /proc/sys/fs/file-max
 # 输出 34336
 # 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内
 # 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置
 # 使得并发总数小于操作系统可以打开的最大文件数目
 # 其实质也就是根据主机的物理CPU和内存进行配置
 # 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。
 # ulimit -SHn 65535

}


http {
 #设定mime类型,类型由mime.type文件定义
 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 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,
 #对于普通应用,必须设为 on,
 #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,
 #以平衡磁盘与网络I/O处理速度,降低系统的uptime.
 sendfile on;
 #tcp_nopush on;

 #连接超时时间
 #keepalive_timeout 0;
 keepalive_timeout 65;
 tcp_nodelay on;

 #开启gzip压缩
 gzip on;
 gzip_disable "MSIE [1-6].";

 #设定请求缓冲
 client_header_buffer_size 128k;
 large_client_header_buffers 4 128k;


 #设定虚拟主机配置
 server {
 #侦听80端口
 listen 80;
 #定义使用 www.nginx.cn访问
 server_name www.nginx.cn;

 #定义服务器的默认网站根目录位置
 root html;

 #设定本虚拟主机的访问日志
 access_log logs/nginx.access.log main;

 #默认请求
 location / {

  #定义首页索引文件的名称
  index index.php index.html index.htm; 

 }

 # 定义错误提示页面
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 }

 #静态文件,nginx自己处理
 location ~ ^/(images|javascript|js|css|flash|media|static)/ {

  #过期30天,静态文件不怎么更新,过期可以设大一点,
  #如果频繁更新,则可以设置得小一点。
  expires 30d;
 }

 #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
 location ~ .php$ {
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
 }

 #禁止访问 .htxxx 文件
  location ~ /.ht {
  deny all;
 }

 }
}

附上我的图片

nginx配置React静态页面的方法教程

nginx配置React静态页面的方法教程

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
Dec 20 Javascript
在jQuery中 关于json空对象筛选替换
Apr 15 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
Sep 26 Javascript
使用CamanJS在Web页面上处理图像的技巧
Aug 18 Javascript
JS原型与原型链的深入理解
Feb 15 Javascript
JavaScript实现三级联动菜单效果
Aug 16 Javascript
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
Oct 25 Javascript
JS实现字符串去重及数组去重的方法示例
Apr 21 Javascript
create-react-app修改为多页面支持的方法
May 17 Javascript
JavaScript学习笔记之DOM基础操作实例小结
Jan 09 Javascript
js实现弹幕飞机效果
Aug 27 Javascript
angular中ui calendar的一些使用心得(推荐)
Nov 03 #Javascript
mui上拉加载更多下拉刷新数据的封装过程
Nov 03 #Javascript
基于ES6作用域和解构赋值详解
Nov 03 #Javascript
AngularJS中controller控制器继承的使用方法
Nov 03 #Javascript
vue解决跨域路由冲突问题思路解析
Nov 03 #Javascript
React-intl 实现多语言的示例代码
Nov 03 #Javascript
ztree实现左边动态生成树右边为内容详情功能
Nov 03 #Javascript
You might like
PHP数据过滤的方法
2013/10/30 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
详解Python多线程
2016/11/14 Python
基于Python闭包及其作用域详解
2017/08/28 Python
Python logging模块用法示例
2018/08/28 Python
Python格式化输出字符串方法小结【%与format】
2018/10/29 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
杭州龙健科技笔试题.net部分笔试题
2016/01/24 面试题
新闻记者个人求职的自我评价
2013/11/28 职场文书
遗体告别仪式答谢词
2014/01/23 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
什么是就业协议书
2014/04/17 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers