Elasticsearch + php + msyql+nginx安装流程

简介:

sudo yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-develglib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devele krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

#nginx所需要的库文件件

sudo yum -y install pcre-deve l zlib-deve l gd gd-deve l freetype net-tools
yum -y install pcre*

#PHP依赖的库文件
sudo yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel

yum -y install mysql mysql-devel //尽可能用源码编译安装
yum -y install mysql-server //尽可能用源码编译安装
mysql -uroot -p #登陆方式

3.登录MySQL修改密码
mysql -uroot -S /opt/mysql/3306/mysql.sock
mysql> flush privileges;
mysql> set password for root@'localhost'= password('miaohr1qaz');

4.登录数据库给multi用户添加权限
mysql -uroot -S /opt/mysql/3306/mysql.sock -pmiaohr1qaz
mysql> GRANT SHUTDOWN ON *.* TO 'multi'@'localhost' IDENTIFIED BY 'multi';


5.设置root远程访问
mysql> UPDATE mysql.user SET Host='%' WHERE Host='localhost';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
mysql> FLUSH PRIVILEGES; 


nginx 安装

./configure --prefix=/usr/nginx

make
make install

 

匹配nginx.conf开启
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php
fastcgi_param SCRIPT_FILENAME /usr/nginx/html$fastcgi_script_name;
include fastcgi_params; 
}


启动nginx 
/usr/nginx/sbin/nginx 
重启
/usr/nginx/sbin/nginx -s reload

 


php安装方法

mysql_config 没有的话是因为没有安装mysql-devel
(mysql_config 是一个绿色的可执行文件)

./configure --prefix=/data/local/php \
--enable-fpm \
--with-zlib \
--enable-mbstring \
--with-openssl \
--with-mysqli \
--enable-mysqlnd \
--with-mysql-sock \
--with-gd \
--enable-gd-native-ttf \
--enable-pdo \
--with-pdo-mysql \
--with-gettext \
--with-curl \
--enable-sockets \
--enable-bcmath \
--enable-xml \
--with-bz2 \
--enable-zip \
-enable-pcntl

make
make install

从php的解压包里
cp php.ini-development /usr/php/lib/php.ini
在/usr/php/etc/里
cp /usr/php/etc/php-fpm.conf.default /usr/php/etc/php-fpm.conf

date.timezone = “Asia/Shanghai”
default_charset = "utf-8"

然后启动nginx,mysql 和/usr/php/sbin/php-fpm

ps aux | grep -c php-fpm 查看状态

 

 

服务器1
cluster.name: ejiqun
node.name: node1
node.rack: r1 #机架号 最好不同
path.data: /elastic_data/data 
 path.logs: /elastic_data/logs
network.host: 192.168.1.210
http.port: 9200
transport.tcp.port: 9300 #设置节点之间交互的端口号
discovery.zen.ping.timeout: 120s #设置集群中自动发现其他节点时ping连接的超时时间
discovery.zen.ping.multicast.enabled: true #设置是否打开多播发现节点
discovery.zen.ping.unicast.hosts: ["192.168.1.210:9300", "192.168.1.211:9300"]

服务器2
cluster.name: ejiqun
node.name: node2
node.rack: r2 #机架号 最好不同
path.data: /elastic_data/data 
 path.logs: /elastic_data/logs
network.host: 192.168.1.211
http.port: 9200
transport.tcp.port: 9300 #设置节点之间交互的端口号
discovery.zen.ping.timeout: 120s #设置集群中自动发现其他节点时ping连接的超时时间
discovery.zen.ping.multicast.enabled: true #设置是否打开多播发现节点
discovery.zen.ping.unicast.hosts: ["192.168.1.210:9300", "192.168.1.211:9300"]

安装jdk
去http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下载jdk的安装文件。由于我的Linux是32位的,因此我下载jdk-8u25-linux-i586.tar.gz文件。
新建/usr/java文件夹,将jdk-8u25-linux-i586.tar.gz放到该文件夹中,并将工作目录切换到/usr/java目录下。
执行命令tar -zxvf jdk-8u25-linux-i586.gz 进行解压,解压后发现/usr/java多了一个jdk1.8.0_25文件夹。
通过以上步骤,jdk就已经全部安装完成了。下面,就是环境变量的配置。
配置环境变量
使用vim /etc/profile编辑profile文件
在/etc/profile底部加入如下内容
JAVA_HOME=/usr/java/jdk1.8.0_25
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH

以上,环境变量配置完成。需要注意的是,PATH在配置的时候,一定要把$JAVA_HOME/bin放在前面,不然使用java命令时,系统会找到以前的java,再不往下找了。这样java这个可执行文件运行的目录其实不在$JAVA_HOME/bin下,而在其它目录下,会造成很大的问题。
还要注意,以前其它教程写的CLASSPATH=$JAVA_HOME/lib.tools.jar,不知道以前的版本是怎么样的,现在的版本是没有这样的jar包的。
最后使用source /etc/profile让profile文件立即生效。
命令测试
使用javac命令,不会出现command not found错误
使用java -version,出现版本为java version "1.8.0_25"
echo $JAVA_HOME, echo $CLASSPATH, echo $PATH,看看自己的配置是否都正确。


elasticsearch-jdbc使用
第一步:环境匹配
1)elasticsearch 2.3.3 成功安装部署 
2)mysql安装成功,增删改查无误~~。 

3)要保证elasticsearch-jdbc的版本要与elasticsearch的版本是一致的(下面的内容会提示下载)。否则会报错,无法进行之后的步骤。
(例如elasticsearch-jdbc-2.3.3.0-dist.zip(对应的你的elaseticsearh-2.3.3)
第二步:下载JDBC工具

选择你需要的版本进行下载。(例如elasticsearch-jdbc-2.3.3.0-dist.zip(对应的你的elaseticsearh-2.3.3) ,下载后缀为dist.zip的即可)
地址:
http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/
解压下载的文件unzip elasticsearch-jdbc-2.3.3.0-dist.zip
解压下载的文件unzip elasticsearch-jdbc-2.3.3.0-dist.zip

创建mysql脚本计划任务
cd /elasticsearch-jdbc-2.3.3.0/bin/ (在bin目录下建立我们的新脚本)
vi import_es.sh

#!/bin/sh
bin=/elasticsearch-jdbc-2.3.3.1/bin
lib=/elasticsearch-jdbc-2.3.3.1/lib
echo '{
"type" : "jdbc",
"jdbc": {
"elasticsearch.autodiscover":true,
"elasticsearch.cluster":"ejiqun",
"url":"jdbc:mysql://10.0.8.7:3306/bo",
"user":"caiyun",
"password":"bo2016.",
"sql":"select email from members",
"elasticsearch" : {
"host" : "192.168.48.129",
"port" : 9300
},
"index" : "test",
"type" : "ffcs"
}
}' | java \
-cp "${lib}/*" \
-Dlog4j.configurationFile=${bin}/log4j2.xml \
org.xbib.tools.Runner \
org.xbib.tools.JDBCImporter

为 import_es.sh 添加可执行权限。 
chmod a+x import_es.sh //(a+x 是给所有人加上可执行权限,包括所有者,所属组,和其他人 o+x 只是给其他人加上可执行权限)
执行脚本:./import_es.sh

第五步:检测数据是否新增成功
curl 'localhost:9200/_cat/indices?pretty' //索引是否有新增呢??
curl -XGET 'http://localhost:9200/test/ffcs/_search?pretty' //抓取显示数据


通过各种条件查询
curl 'localhost:9200/test/ffcs/_search?pretty' -d '
{
"filter":{"term":{"name":"john"}}
}'

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
应用服务中间件 PHP nginx
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
732 25
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
1689 0
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
413 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
自然语言处理 测试技术 API
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
920 5
|
运维 JavaScript 应用服务中间件
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
488 6
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
694 20
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
1740 25
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
Java 程序员 PHP
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
01 入门PHP就来我这-安装phpstudy