热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

嵌入式开发之linuxweb

             1,nginx的下载http:nginx.orgendownload.html 选择第二个稳定版下载即可,下载好后解压得到如下目录 其中最主要的配置文件n


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

选择第二个稳定版下载即可,下载好后解压得到如下目录

其中最主要的配置文件nginx.conf在conf文件夹中

简单介绍下几个nginx命令

start nginx 启动nginx
nginx -s reload :修改配置后重新加载生效
nginx -s reopen :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

关闭nginx:
nginx -s stop :快速停止nginx
quit :完整有序的停止nginx

启动nginx,配置nginx.conf配置文件

本文采用自定义conf配置文件然后用命令include内嵌到nginx.conf的方式 自定义配置文件名字是fapiao.conf

以下为配置内容

#实际的服务器列表,负载均衡,默认采用轮询,可添加多个server
upstream fapiao{undefined

#负载均衡分发策略默认为轮询,策略比较多不一一介绍,只介绍ip_hash,每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session共享的问题(直接用以下方式添加分发策略即可)

ip_hash;
server 127.0.0.1:8080;

#负载均衡可直接在下方加ip:端口号,如下

#server 192.168.1.116:8182;
}

server{undefined
#监听端口
listen 80;
#监听域名
server_name fp.zzfapiao.com;

#首页
index index.html

#编码格式
charset utf-8;

#静态文件配置(以.jpg,.gif等后缀结尾的请求由nginx自己处理访问此静态目录中文件,可以是实际项目中的静态文件存放的目录)
location ~ .*/.(gif|jpg|jpeg|png|bmp|swf|html)$ {undefined
root C:/d/nginx/nginx-1.16.0/static/photo;
#过期30天
expires 30d;
}

#项目中的静态文件由nginx管理
#location ~ .*/.(gif|jpg|jpeg|png|bmp|swf|html|xml)$ {undefined
#root C:/gongzuobusiness/ims05/ims/WebRoot;
#过期30天
#expires 30d;
#}

#反向代理跳转的服务器
location / {
#location /v1/online {undefined
#代理跳转的路径,此处用的upstream的name,location后面设置映射的路径
proxy_pass http://fapiao/;

#Proxy Settings 代理参数的配置
proxy_redirect off;

#小知识点,以下如果配置$host,会导致转发的服务器只能获取80端口号,如何想获取代理的端口号可以改为$host:$server_port;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
#禁止访问 .htxxx 文件
location ~ //.ht {undefined
deny all;
}

#错误处理页面(可选择性配置)
#error_page 404 /404.html;
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {undefined
# root html;
#}
}

配置hosts文件,解析域名fp.zzfapiao.com hosts文件位置C:/Windows/System32/drivers/etc

引入配置文件到nginx.conf中

重启nginx

浏览器访问路径http://fp.zzfapiao.com 会挑战到本地http://localhost:8080

访问静态目录http://fp.zzfapiao.com/js/003.jpg 访问成功

静态目录存放位置

此文只是对nginx做了下简单入门!!!

==================================================================

Nginx/Lua/ngx_lua简介

Nginx优点

1) Nginx:一个主进程多个工作进程的工作模式,每个进程是单线程来处理多个连接,每个工作进程采用了非阻塞I/O来处理多个连接,能减少了线程上下文切换,实现了公认的高性能、高并发;

2) 在生产环境中,通过把CPU绑定给Nginx工作进程来提升其性能;

3) 单线程工作模式典型特点是内存占用非常少;

4) Nginx更改配置重启速度非常快,可以毫秒级,且支持不停止Nginx进行升级Nginx版本、动态重载Nginx配置;

5) Nginx模块多,功能强大,可以作为Http负载均衡、TCP负载金恒、内容缓存、Web服务器、反向代理、访问控制等。

Lua优点

1) Lua:轻量级、可嵌入式脚本语言,可以非常容易的嵌入到其他语言中使用。

2) Lua提供协程并发,以同步调用的方式进行异步执行,从而实现并发,比回掉机制的并发代码更容易编写、理解、排查问题;

3) Lua提供闭包机制,函数可作为First Class Value进行参数传递,并实现了标记清楚垃圾收集

4) Lua的小巧轻量级,使其可以在Nginx中嵌入Lua VM,请求时创建一个VM,请求结束的时候回收VM

Ngx_lua简介

1) Ngx_lua是Nginx的一个模块,将Lua嵌入到Nginx中,可实现用Lua编写脚本,将Lua编写的应用脚本,部署到Nginx中运行,将Nginx变成一个Web容器,从而开发人员可以使用Lua语言开发高性能的Web应用。

2) Ngx_lua提供与Nginx交互的很多API,学习API就可以进行功能开发,其开发与Servlet类似,主要是接受请求、参数解析、功能处理、返回响应等。

Nginx+Lua安装详解

平台:ARM服务器

操作系统:CentOS 7.3/CentOS 7.4

软件安装:Nginx + LuaJit + nginx-lua安装

1、 安装所需依赖

yum -y install gcc gcc-c++ autoconf automake

yum install pcre

yum install pcre-devel

yum install openssl openssl-devel

yum -y install zlib zlib-devel

备注:

pcre是一个Perl库,包括perl兼容的正则表达式库。Nginx的HTTP rewrite模块依赖PCRE。

OpenSSL是安全套接字层密码库,包括主要密码算法、常用的秘钥和整数封装管理功能及SSL协议,并提供丰富的应用程序共测试或其他目的使用。

LuaJIT是Lua运行环境,即采用C语言写的Lua代码的解释器

2、 下载并安装LuaJit-2.1.0-beta2

1)下载

https://github.com/cbaylis/luajit-aarch64/tree/aarch64-v2.1-new

备注:此处需下载ARM平台的LuaJit,否则在启动Nginx服务器时,程序会coredump。

2)解压

unzip luajit-aarch64-aarch64-v2.1-new.zip

3)安装

cd luajit-aarch64-aarch64-v2.1-new/

make PREFIX=/usr/local/luajit

make install PREFIX=/usr/local/luajit

4)建立软件连

ln -sf luajit-2.1.0-beta2/usr/local/luajit/bin/luajit

5)导出系统环境变量

exportLUAJIT_LIB=/usr/local/luajit/lib

exportLUAJIT_INC=/usr/local/luajit/include/luajit-2.1

6)建立软连接

ln -s/usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

7)将libluajit动态库读入缓存中

在/etc/ld.so.conf中加入对应路径:

/usr/local/luajit/lib/

执行ldconfig即可。

3、 下载并解压ngx_devel_kit-0.2.19

1) 下载

https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz

2) 解压

tar zxvf ngx_devel_kit-0.2.19

4、 下载并解压lua-nginx-module-0.10.8

1) 下载

https://github.com/openresty/lua-nginx-module/tags

2) 解压

tar -zxvf lua-nginx-module-0.10.8.tar.gz

5、 下载并安装Nginx,ngx_devel_kit-0.2.19,lua-nginx-module-0.10.8

1) 下载nginx-1.10.3.tar.gz

http://nginx.org/en/download.html

2) 解压

tar -zxvf nginx-1.10.3.tar.gz

3) 配置

./configure --add-module=../ngx_devel_kit-0.2.19/--add-module=../lua-nginx-module-0.10.8/

注意:要正确配置ngx_devel_kit-0.2.19和lua-nginx-module-0.10.8对应的路径

4) 编译

make -j

5) 安装

make install

6、 测试nginx + lua的搭建是否成功

1) 在/usr/local/nginx/conf的nginx.conf中添加如下信息:

location ~* ^/2328(/.*) {undefined

default_type 'text/plain';

content_by_lua'ngx.say("hello, ttlsa lua")';

}

2) 在/usr/local/nginx/sbin目录下启动nginx服务

cd /usr/local/nginx/sbin

nginx

3) 在浏览器中范围对应的网页测试即可

登录:http://**.*.***.***/2328/

访问成功,显示:hello, ttlsa lua

7、 查看启动的nginx服务

ps -ef | grep nginx
===========================================================

https://blog.csdn.net/qq_40036754/article/details/102463099 nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全

https://www.nginx.cn/4996.html  如何使用nginx配置负载均衡

http://hg.nginx.org/nginx/file/release-1.21.6

https://nginx.org/en/download.html

https://trac.nginx.org/nginx/browser?order=name source 下载

https://blog.csdn.net/bbenben08/article/details/96964069 nginx交叉编译

https://blog.csdn.net/fish43237/article/details/40515897 nginx 交叉编译 ( 上 )

https://www.cnblogs.com/schips/p/12308651.html arm linux 移植 Nginx

https://www.csdn.net/tags/MtjacgwsODc0NTQtYmxvZwO0O0OO0O0O.html nginx移植到arm-linux

https://www.itdaan.com/blog/2017/11/02/b82deea3db281fb4344d1b50912d77a9.html 嵌入式hi3516-hi3518海思平台移植nginx-1.12.2

https://www.jianshu.com/p/5d9b60f7b262 交叉编译Hi3536上面使用的nginx

https://blog.csdn.net/yzhang6_10/article/details/79890685 ARM平台Nginx+Lua安装详解

https://www.cnblogs.com/fengkun125/p/14142912.html ubuntu安装nginx

https://blog.csdn.net/zuoyigehaizei/article/details/93061002 nginx下载安装,以及简单配置

https://bbs.huaweicloud.com/blogs/321018 (麒麟V10-arm)编译安装nginx-1.20.1

https://juejin.cn/post/6844904096973979662 手把手教 Nginx 部署 Vue 项目

https://blog.csdn.net/yuanyuan320/article/details/121466863 移植Nginx到ARM Linux

https://github.com/y123456yz/reading-code-of-nginx-1.9.2 reading-code-of-nginx-1.9.2

https://www.cnblogs.com/taiyonghai/p/6094350.html 使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案


推荐阅读
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • Nginx不仅是一款轻量级的高性能Web服务器,还具备出色的负载均衡和反向代理功能。它支持复杂的正则匹配规则、动静内容分离以及灵活的URL重写功能,使得配置和管理更加便捷高效。此外,Nginx提供了多种负载均衡算法,如轮询、加权轮询、最少连接数等,以满足不同应用场景的需求。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文深入解析了 Kubernetes 控制平面(特别是 API 服务器)与集群节点之间的通信机制,并对其通信路径进行了详细分类。旨在帮助用户更好地理解和定制其安装配置,从而增强网络安全性,确保集群的稳定运行。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
author-avatar
风云a899
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有