Ubuntu安装配置Nginx

hive两张表实现like模糊匹配关联 hive实现like两张表模糊匹配 阅读详情

安装Nginx

Nginx下载网站:http://nginx.org/ ,根据需要下载版本,一般提供两种版本stable版本和mainline 版本,在实际生产环境中建议使用stable版本,此次下载安装的版本为:nginx-1.10.3.tar.gz。配置环境为ubuntu-16.10-server-amd64系统。
文件目录在Ubuntu目录下自己新建的/myapp/soft/目录下(此目录也可以在安装Ubuntu系统的时候手动分区建立自己的工作空间)。以下为安装配置过程:
Nginx文件的存放目录:
解压使用:tar -xzf nginx-1.10.3.tar.gz解压到当前目录,结果如下。

root@shmily:/myapp/soft# ls
apache-tomcat-8.5.13.tar.gz  mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar  nginx-1.10.3.tar.gz
jdk-8u121-linux-x64.tar.gz   nginx-1.10.3
root@shmily:/myapp/soft#

安装之前先执行更新:

apt-get install update

安装Nginx所需要的类库:

apt-get install gcc libpcre3 libpcrecpp0v5 libpcre3-dev libssl-dev

然后进入软件安装目录,即二进制文件目录(手动创建的目录):

root@shmily:/myapp# ls
bin  lost+found  soft  webroot
root@shmily:/myapp# cd bin
root@shmily:/myapp/bin# 

在此目录下新建nginx文件夹:

root@shmily:/myapp/bin# mkdir nginx
root@shmily:/myapp/bin# ls
jdk  nginx  tomcat  tomcat02
root@shmily:/myapp/bin# cd nginx
root@shmily:/myapp/bin/nginx#mkdir logs conf fastcgi_temp sbin client_body_temp proxy_temp uwsgi_temp scgi_temp
root@shmily:/myapp/bin/nginx# ls
client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp

执行完成之后退出此目录,然后回到soft目录下:

root@shmily:/myapp# cd soft
root@shmily:/myapp/soft# ls
apache-tomcat-8.5.13.tar.gz  mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar  nginx-1.10.3.tar.gz
jdk-8u121-linux-x64.tar.gz   nginx-1.10.3
root@shmily:/myapp/soft# cd nginx-1.10.3
root@shmily:/myapp/soft/nginx-1.10.3# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src
root@shmily:/myapp/soft/nginx-1.10.3#

接着执行以下命令进行Nginx的安装:

./configure --prefix=/myapp/bin/nginx/ --sbin-path=/myapp/bin/nginx/sbin/ --with-http_ssl_module --conf-path=/myapp/bin/nginx/conf/nginx.conf --pid-path=/myapp/bin/nginx/logs/nginx.pid --error-log-path=/myapp/bin/nginx/logs/error.log --http-log-path=/myapp/bin/nginx/logs/access.log --http-fastcgi-temp-path=/myapp/bin/nginx/fastcgi_temp --http-client-body-temp-path=/myapp/bin/nginx/client_body_temp --http-proxy-temp-path=/myapp/bin/nginx/proxy_temp --http-uwsgi-temp-path=/myapp/bin/nginx/uwsgi_temp --http-scgi-temp-path=/myapp/bin/nginx/scgi_temp

上面命令执行成功之后,执行以下命令,成功执行说明Nginx安装成功:

root@shmily:/myapp/soft/nginx-1.10.3# make;make install

安装成功之后回到 /myapp/bin/nginx 目录下,进入该目录下的sbin,启动Nginx,直接执行./nginx启动服务,使用ps -ef|grep nginx查看当前启动的进程,如下:

root@shmily:/myapp/bin/nginx# ls
client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp
root@shmily:/myapp/bin/nginx# cd sbin
root@shmily:/myapp/bin/nginx/sbin# ls
nginx
root@shmily:/myapp/bin/nginx/sbin# ./nginx
...
root@shmily:/myapp/bin/nginx/sbin# 
root@shmily:/myapp/bin/nginx/sbin# ps -ef|grep nginx
root       4518      1  0 16:16 ?        00:00:00 nginx: master process ./nginx
nobody     4524   4518  0 16:16 ?        00:00:00 nginx: worker process
root       4679   1639  0 16:47 pts/0    00:00:00 grep --color=auto nginx
root@shmily:/myapp/bin/nginx/sbin# 

成功之后可以在远程测试连接,成功界面如下:

Nginx

nginx配置使用

  • 配置文件nginx/conf/nginx.conf
  • http{ …… }部分,HTTP服务设置,全局设置

nginx.conf文件内容

  • include mime.types; #文件扩展名不文件类型映射表
  • default_type application/octet-stream; #默认文件类型
  • sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘不网络I/O处理速度,降低系统的负载。
    注意:如果图片显示不正常把这个改成off
  • keepalive_timeout 120; #长连接超时时间,单位是秒
  • 配置文件nginx/conf/nginx.conf
  • server{ …… }部分,虚拟主机的配置

nginx.conf文件02

  • listen 80; #监听端口
  • server_name www.xxx.com; #域名可以有多个,用空格隔开
  • index index.html index.jsp; #默认访问页面
  • root /www/webSite/xxx; #默认站点路径
  • error_page 500 502 503 504/50x.html; #默认错误内容展示页

Nginx + Tomcat 配置使用

Tomcat配置

首先需要进行Tomcat集群配置,用两个Tomcat作为实例,实际过程中可以使用多个Tomcat,在进行Tomcat配置过程中,先查看是否有Tomcat进程存在,使用ps -ef|grep tomcat ,如果有进程,使用kill -9 进程号 结束Tomcat进程。之后复制Tomcat,使用cp tomcat tomcat02 进行复制,可依次复制多个Tomcat。原始Tomcat不需要端口修改,但是需要在server.xml文件中增加web项目配置路径,server.xml文件路径:

root@shmily:/myapp/bin/tomcat/conf# ls
Catalina         catalina.properties  jaspic-providers.xml  logging.properties  server.xml20170506  tomcat-users.xsd
catalina.policy  context.xml          jaspic-providers.xsd  server.xml         tomcat-users.xml    web.xml

修改server.xml文件,增加如下内容,其他不用做任何修改:

<Context path="" docBase="/myapp/webroot/mldn2" debug="0" reloadable="true"></Context>

image02
完成之后,进入tomcat02目录下的conf目录下:
image03
修改server.xml文件,需要做如下修改:

image04

image05

image06

image07
如果还有有多个Tomcat配置按照上面依次配置就可以,途中圈出来的部分是需要修改的内容,如有三个则第三个的server port8007.依次类推进行修改即可。修改完成之后,重新启动Tomcat服务,正常启动说明修改正确。

image08

Nginx配置

修改nginx/conf/nginx.conf文件里的server,如上图中的location / {}中的内容,注释以下内容:

# root html;
# index  index.html index.htm;

在下面新增如下配置:

        proxy_pass http://127.0.0.1;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #后端服务器可以通过X-Forwarded-For获取真实IP
        proxy_max_temp_file_size 0; #设置临时缓存大小
        proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
        proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
        proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
        proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
        proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置
        proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
        proxy_temp_file_write_size 64k; #设定缓存文件夹大小

修改完成保存退出,回到sbin目录,执行以下命令:

./nginx -t          //测试Nginx脚本
./nginx -s reload           //重启Nginx

Nginx负载均衡配置

增加upstream项,在http中

 #gzip  on;
    upstream myServer {
        server 127.0.0.1:9090 down;
        server 127.0.0.1:8080 weight=2;
        server 127.0.0.1:6060;
        server 127.0.0.1:7070 backup;
    }

down:表示单前的server暂时不参与负载
weight:默认为1,weight越大,负载的权重就越大。
backup:其它所有的非backup机器down或者忙的时候,请求backup机器

修改Nginx中server里面的location内容

proxy_pass http://myServer;

修改完成保存退出,回到sbin目录,执行以下命令:

./nginx -t          //测试Nginx脚本
./nginx -s reload           //重启Nginx

完整修改文件内容如下:

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;
    upstream myServer {
        server 127.0.0.1:9090 down;
        server 127.0.0.1:8080 weight=2;
        server 127.0.0.1:6060;
        server 127.0.0.1:7070 backup;
    }
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
        #    root   html;
        #    index  index.html index.htm;
                proxy_pass http://myServer;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #后端服务器可以通过X-Forwarded-For获取真实IP
                proxy_max_temp_file_size 0; #设置临时缓存大小
                proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
                proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
                proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
                proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
                proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置
                proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
                proxy_temp_file_write_size 64k; #设定缓存文件夹大小
        }
某头部能源集团“数据治理”到“数智应用”跃迁案例剖析 本次案例能源企业实现了从“数据可用”到“指标驱动”再到“智能决策”的全链条升级,标志着集团在数字化、智能化治理能力上的系统跃升,构建起面向未来的数智管理新范式。 阅读详情

相关推荐

riscv32-gcc工具链实战:从下载到编译的完整指南

本文提供了一份详尽的riscv32-gcc工具链实战指南,涵盖从官方渠道下载预编译版本、正确选择riscv32-glibc版本、配置环境变量到实战编译的全过程。通过清晰的步骤和避坑指南,帮助开发者快速搭建稳定的RISC-V交叉编译环境,并成功编译从Hello World到Linux内核的程序。

s3t4u的博客 653

HIVE中连接条件不能使用LIKE模糊匹配的解决办法

在使用hive的中需要多表关联的时候,想使用模糊匹配的like进行模糊匹配的时候,执行代码如下所示: SELECT * FROM TABLE1 A LEFT JOIN TABLE2 B ON A.XX LIKE CONCAT('%' , B.YY , '%') 这段代码在DB2 中是可以顺利执行的,但是在hive就是会报错,原因就是hive中不能很好的处理非等值连接,但是hive中也提供了别的处理方式,来达到在连接时使用模糊匹配的效果。 hive中提供了一个locate()的函数; locat

Miracle.Zhao的博客 2万+

AI Agent在智能广告投放中的应用

随着互联网的快速发展,广告投放市场变得越来越复杂和竞争激烈。传统的广告投放方式往往难以精准地触达目标受众,导致广告资源的浪费。AI Agent作为一种智能的自动化程序,能够在复杂的环境中自主学习、决策和执行任务。本文章的目的在于深入探讨AI Agent在智能广告投放中的应用,研究如何利用AI Agent提高广告投放的精准度、效率和效果,降低成本。范围涵盖了AI Agent的基本原理、相关算法、在广告投放中的具体应用场景以及实际案例分析等方面。

欢迎来到我的CSDN空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 596

hive实现like模糊配对

testa表(字段a) aaa bba cccddd dddaaa testb表(字段b) a b 1. 使用like+concat模糊配对 select a.a from testa a ,testb b where a like concat('%',b.b,'%') group by a.a 2. 使用locate函数 select a.a...

weixin_42412645的博客 5626

Hive中字段间模糊匹配的解决办法(3种方式实现)

需求: 产品侧想看下每天用户点击的video中有多少title命中了tag,显而易见,这里需要字段间的模糊匹配。 测试过程: select 'abcd' like '%bc%' 结果:True locate(string substr, string str[, int pos]) 函数内第一个参数是子串,第二个是我们的整个字符串,具体的解释如下: 查找字符串str中的pos位置后字符串substr第一次出现的位置,若为找到,则返回0。 select locate('a','abc.

qq_654603797 8037

Hive基准测试神器-hive-testbench

TPC-DS测试概述 在对Hive的语法及性能进行测试时,需要构造大量数据,TPC-DS测试基准是TPC组织推出的用于替代TPC-H的下一代决策支持系统测试基准。在使用TPC-DS时需要进行编译,生成数据以及查询SQL还要把Hive建表语句进行修改手动创建,数据也需要再上传hdfs,操作比较麻烦,数据生成性能也较差。hive-testbench是Hortonwork基于TPC-H和TPC-DS封装的专门用于Hive的基准测试工具,自动生成HDFS数据,并进行建表操作,使用非常方便。 TPC-H和TPC-

Dreamershi的专栏 5170

大数据开发之Hive----使用外部分区表时要注意的事情

直接将数据put到HDFS上,Hive的查询变化 当我们已经使用Hive建立好了一个表的时候,使用desc formatted table_name;可以直接查看到这个表的具体location,如果我们将文件直接放到这个地址上面去,我们在Hive上面理论上面可以直接查询到增加的结果的。 假设我现在Hive上创建了一张外部表 create external table person(id int,n...

weixin_39702831的博客 484

20190321-分区和分桶

文章目录动态分区表1 包含动态分区的字段的表2 关闭严格分区模式3 创建带有分区的表 动态分区表 1 包含动态分区的字段的表 准备数据 5 男 16 北京 13754554587 2015-03-24 6 女 17 北京 13872374170 2017-02-20 2 女 16 北京 17938844884 2015-05-26 23 男 15 北京 13700000033 2016-07-...

鲨鱼胃的博客 549

大数据实战第一课-基于hadoop的生态离线项目梳理

一、 Hadoop: HDFS、YARN 、MapReduce(数据清洗) Hadoop集群 Hive: 外部表进行关联,SQL进行数据处理 数据倾斜如何优化? 基于元数据管理(元数据?) SQL ==> MapReduce Flume: 进行数据采集 调度: crontab、shell、Azkaban HUE:可视化的基于notebook 排查数据 二、从通用项目来看 集群规模==》每...

zhikanjiani的博客 885

Hive】join中的模糊匹配(locate)

HIVE不支持非等值连接,但可以通过locate()函数进行功能转换。 locate(string substr, string str[, int pos]) 查找字符串str中的pos位置后字符串substr第一次出现的位置,若为找到,则返回0。 hive&gt; select locate('a','abcd'), locate('b', 'abcd'), locate('f', ...

喜东东的博客 2万+

hive用模糊查询是否影响效率

hive具有sql数据库的外表,但应用场景完全不同,hive只适合用来做批量数据统计分析 查询语言。由于 SQL 被广泛的应用在数据仓库中,因此,专门针对 Hive 的特性设计了类 SQL 的查询语言 HQL。熟悉 SQL 开发的开发者可以很方便的使用 Hive 进行开发。 数据存储位置。Hive 是建立在 Hadoop 之上的,所有 Hive 的数据都是存储在 HDFS 中的。而数据库则可以将数据保存在块设备或者本地文件系统中。 索引 之前已经说过,Hive 在加载数据的过程中不会对数据进行任何处理,甚至

何止代码 2125

大数据从入门到实战 - Hive基本查询操作(二)

大数据从入门到实战 - Hive基本查询操作(二) 一、关于此次实践 1、实战简介 2、全部任务 二、实践详解 1、第1关:Hive排序 2、第2关:Hive数据类型和类型转换 3、第3关:Hive抽样查询 叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!

小啊呜的博客 1万+

Hive的查询操作(二)

分桶及抽样查询和其他基本查询操作

qq_61645895的博客 4713

Hive创建表的几种方式

hive执行的三种方式:     1. 用hive CLI     2. 终端执行hive命令: hive -e hive语句     3. 终端执行hive脚本: hive -f  hive脚本     如果需要通过jdbc来连接hive,需要在终端开启hiveserver2服务 nohup hive --service hiveserver2 & netstat -ntpl | g

Angelababy_huan的博客 7495

Hive的安装与部署(MySQL作为元数据库)

一、Hive简介 Hive是一个基于 Hadoop的文件系统上的数据仓库架构。它为数据仓库的管理提供了许多功能:数据 ETL (抽取、转换和加载)工具、数据存储管理和大型数据集的查询与分析能力。同时 Hive 还定义了类 SQL 的语言 ― Hive QL , Hive QL 允许用户进行和 SQL 相似的操作。 Hive QL 还允许开发人员方便地使用 mapper 和 reducer 操作,...

real向往的博客 1217

HiveHive 创建表

学习笔记—Hive创建表 1. Hive语句的特点 HQL 语言大小写不敏感,但内容分大小写(where ,if/ case when,如:数据表内容某人名叫Tom,则条件后不能写tom,HDFS 路径名(NameNode)分大小写) ; HQL 可以写在一行或者多行, 关键字不能被缩写也不能分行,同 SQL; 各子句一般要分行写, 使用缩进提高语句的可读性,为了美化,同SQL; -- 为注释符号 ; Hive 不存储数据,他是表到HDFS文件的映射关系(语句); 2. DDL 2.1 Hive的数据库DD

thatdanielyang的博客 1万+

hive中两表同名列关联

hive中两表关联如果列同名会报错。 如下 Error: COMPILE FAILED: Semantic error: [Error 10878] Column xxx Found in more than One Tables/Subqueries (state=42000,code=10878) 这种情况下可以修改其中一个表的列名。如下 select a.stockCode,b.name,...

yahahassr的博客 2008

hive 模糊匹配 join之locate

locate基本用法 locate(string substr, string str[, int pos]) hive> select locate(‘a’,‘abcd’), locate(‘b’, ‘abcd’), locate(‘f’, ‘abcd’),locate(‘20’, ‘222002’) 结果: 1 2 0 3 join模糊匹配 在这里插入代码片 ...

weixin_45744450的博客 2149

优化join or情形

hive 中 left join 基于 or 形式匹配连接情形的时优化

index_test的博客 3269
上一篇: ThreadLocal详解
下一篇: Hadoop安装配置
shmilychan
博客等级 码龄10年 71粉丝 46原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值