存档在 2016年8月

怎样使用Minify压缩css和js文件

2016年8月31日

参考:http://www.cnblogs.com/chinafine/articles/2224178
参考:http://www.chinaz.com/web/2011/0511/179286.shtml

一般情况下,网站速度的瓶颈都在前端,而最关键的就是资源的加载速度,但是大多数浏览器都有单个域名并发请求数限制,所以如果一个页面中存在很多的资源,比如CSS和JavaScript文件,那么明显会降低网站的加载速度,比较好处理方式就是把多个文件通过一个请求来访问,这样既不会影响之前的文件维护,又会减少资源的清楚数量,Minify就是为之而生。

Minify 使用PHP开发,通过遵循一些Yahoo的优化规则来提高网站的性能。它会合并多个CSS或者JavaScript文件,移除一些不必要的空格和注释,进行gzip压缩,并且会设置浏览器的缓存头。Minify 在设计上和Yahoo的 Combo Handler Service非常像,不过Minify可以合并任何你想要合并的JavaScript和CSS文件,减少浏览器端不断发出新的连接请求。

官网:https://github.com/mrclay/minify

安装:

1. 下载最新的Minify然后解压缩到minify目录。
2. 复制”min”至网站根目录。
3. 修改config.php中设置$min_cachePath到一个PHP可写目录。

用法:

在线工具:

使用Minify Builder应用程序的URI:

https://amon.org/min/builder/

压缩单个文件:

需要压缩文件:

https://amon.org/wp-content/themes/default/default.css

下面是“Minify网址”该文件:

https://amon.org/min/?f=wp-content/themes/default/default.css

“f”参数设置为从WEB根路径下的目标文件(不需要路径/)”。由于CSS文件可能包含相对URI,Minify会自动通过重写机制找到它们。

合并多个文件到一个文件下载:

用’,’分隔f参数的每一个文件名。

需要压缩以下JS/CSS文件:

https://amon.org/scripts/jquery-1.2.6.js
https://amon.org/scripts/site.js

通过Minify结合起来:

https://amon.org/min/?f=scripts/jquery-1.2.6.js,scripts/site.js

简化基本路径:

如果你合并的文件共享同一父目录,你可以使用b参数设置的f参数的基本目录(同样不包括前导或者后缀/字符)。

例如,以下两种写法效果相同:

https://amon.org/min/?f=scripts/jquery-1.2.6.js,scripts/site.js,scripts/home.js

https://amon.org/min/?b=scripts&f=jquery-1.2.6.js,site.js,home.js

在Html中使用MINIFY:

在(X)HTML文件,不要忘记将&替换为&

指定允许的目录:

默认情况下,Minify不会有任何DOCUMENT_ROOT范围内的*.css/*.js文件。如果你希望限制Minify存取某些目录,在config.php中设置:

例如:限制到/js和/themes/default目录,使用:

$min_serveOptions['minApp']['allowDirs'] = array('//js', '//themes/default');

“组”:更快的性能和更好的网址

为了获得最佳性能,编辑groupsConfig.php中的预指定文件组

下面是一个例子配置:

    return array(   
        'js' => array('//js/Class.js', '//js/email.js')   
    );  

以上预指定js将结果是合并了如下文件:

https://amon.org/js/Class.js
https://amon.org/js/email.js

现在,您可以如此简化URL:

https://amon.org/min/?g=js

组:指定document_root目录以外的文件

在groupsConfig.php阵中,//是指向DOCUMENT_ROOT,但你也可以指定从系统的绝对目录路径或相对于document_root的相对目录:

    return array(   
      'js' => array(   
        '//js/file.js'            // file within DOC_ROOT   
        ,'//../file.js'           // file in parent directory of DOC_ROOT   
        ,'C:/Users/Steve/file.js' // file anywhere on filesystem   
      )   
    );  

未来过期HTTP头

Minify可以发送未来(1年)过期HTTP头。要启用该功能,您必须添加一个数字到URIs(例如/min/?g=js&1234 or /min/f=file.js&1234),每当源文件修改时改变该数字。如果你使用SVN/CVS,你可以考虑使用修订版号作为该数字。

如果使用”组”来合并压缩你的文件,可以使用工具函数Minify_groupUri()来得到一个“版本”的URI。

例如:

    <?php   
    // 之前确保min/lib目录设置到include_path   
    // add /min/lib to your include_path first!   
    require $_SERVER['DOCUMENT_ROOT'] . '/min/utils.php';   
    $jsUri = Minify_groupUri('js');    
    echo "<script type='text/javascript' src='{$jsUri}'></script>";  

调试模式

在调试模式下,Minify不压缩文件,而是发送合并后的带有行号的文件。要启用该模式,在config.php中设置为$min_allowDebugFlag为true,并增加”&debug=1″ 到你的URIs.

例如:/min/?f=script1.js,script2.js&debug=1

注:对于该模式,注释风格的字符串正则表达式可能会导致问题。

把min目录上传根目录,根目录打开https://amon.org/min/

Note: Please set $min_cachePath in /min/config.php to improve performance.

设置/min/config.php文件 ,$min_cachePath 有3个选择。

//$min_cachePath = ‘c://WINDOWS//Temp’;
//$min_cachePath = ‘/tmp’;
//$min_cachePath = preg_replace(‘/^//d+;/’, ”, session_save_path());

选择第2个,去除// .设置tmp属性777

在显示的界面中加入你想合并压缩的 js/css 路径,点击 ‘Update’ 之后会为你生成一个 url

如:http://localhost/min/b=googletesting/js& f=mootools.js,iAction.js,iAjax.js,global.js,css和JS分别合并,2个地址。

如果需要组合的文件很多,url 就会变得很长,Minify 支持 group,可以将这些文件分组,这样 url 中只需指定 g=group名字 就可以了。

安装完毕后移动 min/builder/index.php 文件到安全位置。防止其他人访问。

oneande.com 邮箱的非免费思路

2016年8月31日

作者:饱醉豚
链接:https://www.zhihu.com/question/29743026/answer/119712453

http://oneande.com 邮箱。打开首页,你会看到这样的介绍:

1、邮箱公布在网上,不再担心垃圾邮件骚扰。只有愿意支付邮费的人才能给您写信。
2、我们会告诉骚扰者:如果您的邮件不值一块钱,就不要打搅邮箱的主人。
3、只有被您加入白名单的人才能免费给您发邮件。黑名单上的人永远不能给您发信,即使他付钱也不行。
4、只能接收600字。我们不欢迎说话不简洁的人。
5、您,邮箱尊贵的主人,每天也只能发十封邮件。
6、如果您给邮箱用户发信而得不到回复,或许他根本不想理你,或许您在他黑名单上,或许他没空处理邮件,总之,您别浪费时间、感情和金钱了。

如果 HR给你回信,那信并不会直接被你看到。而是她会收到一封邮箱服务器自动回信:
如果您的信件很重要,请24小时内用paypal付邮费一美元。否则您的信不会转给邮箱主人,并永久删除。
也就是说,如果那家公司不付一美元邮费,就没法给你发信。
你是否会觉得很可惜?是否为丢了一个工作offer而遗憾?

不!

如果一家公司看中你的才华,怎么可能会吝啬一美元?如果这家公司稍有档次,员工怎么会没有paypal账号?如果这家公司因为你不愿被人打搅的专注和尊严感而恼怒,因而拒绝你,你去这种不尊重人才的公司干什么??

所以,求职用QQ邮箱并无不可,用 http://oneande.com 邮箱更好。QQ邮箱或许让你失去一些可能的机会,但是 http://oneande.com 邮箱却让你直接淘汰掉那些不尊重员工的企业。

这个邮箱的域名很好记,ONE and E,读音是“万 and 亿”,意思也很好记:一块钱邮费的email。

怎样编译安装PHP5.5.*

2016年8月30日

最新版本:php-5.5.38

下载:http://php.net/downloads.php

通过源码包编译安装:

wget http://php.net/distributions/php-5.5.38.tar.xz && tar -xvf php-5.5.38.tar.xz && cd php-5.5.38

开始configure配置:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache=no --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql --with-mysqli --with-mysql-sock --with-pdo-mysql --enable-mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-kerberos --enable-calendar --enable-exif --with-gmp --enable-intl  --with-ldap --with-libmbfl --with-xmlrpc --enable-maintainer-zts --enable-zend-signals --with-openssl --with-xsl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl=/usr/lib64 --with-bz2 --with-gd --with-gd=/usr/local/gd --enable-gd-jis-conv --enable-gd-native-ttf --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/png --with-freetype-dir=/usr/local/freetype --with-zlib --with-pcre-dir --enable-zip --with-readline --with-apxs2=/usr/local/apache2/bin/apxs

然后开始 make:

make ZEND_EXTRA_LIBS='-liconv'

报错:undefined reference to symbol ‘ber_scanf’

/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_scanf'
/usr/bin/ld: note: 'ber_scanf' is defined in DSO /lib64/liblber-2.4.so.2 so try adding it to the linker command line
/lib64/liblber-2.4.so.2: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

参考:http://www.oschina.net/question/56833_128548?sort=time

编辑MakeFile,找到 110行 开头是 ‘EXTRA_LIBS’ 这一行 在结尾加上 ‘-llber’ :

EXTRA_LIBS = -lcrypt -lcrypto -lssl -lcrypto -lzip -lz -lexslt -lcrypt -lreadline -lncurses -lrt -lmcrypt -lltdl -lldap -lstdc++ -lgmp -lgd -lpng -lz -ljpeg -lpng -lz -ljpeg -lcurl -lbz2 -lz -lcrypto -lssl -lcrypto -lrt -lm -ldl -lnsl -lxml2 -lz -lm -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcurl -lxml2 -lz -lm -ldl -lfreetype -lfreetype -ldl -lm -licui18n -licuuc -licudata -ldl -lm -licuio -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxslt -lxml2 -lz -ldl -lm -lcrypt -llber

重新make(注意不能make clean,因为这样的话MakeFile会还原):

make ZEND_EXTRA_LIBS='-liconv'

输出:

...
Build complete.
Don't forget to run 'make test'

执行命令:

make test

有时候进程会卡死,止步于:

...
PASS Bug #66830 (Empty header causes PHP built-in web server to hang) [sapi/cli/tests/bug66830.phpt]

那就绕开此步,关闭进程后,重启进程直接“make install”。

执行命令:

make install

输出:

...
libtool: install: install .libs/libphp7.so /usr/local/apache2/modules/libphp7.so
...
Installing PEAR environment:      /usr/local/php/lib/php/
...
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/root/php/php-5.5.38/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers:           /usr/local/php/include/php/ext/pdo/

运行:

libtool --finish /root/php/php-5.5.38/libs

添加/usr/local/php/lib/php to your php.ini include_path:

/root/php/php-5.5.38/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar

创建软连接:

ln -s /usr/local/php/bin/php /usr/local/bin/
ln -s /usr/local/php/bin/phpize /usr/local/bin/
ln -s /usr/local/php/bin/php-config /usr/local/bin/

查看版本:

php -v

输出:

PHP 5.5.38 (cli) (built: Oct 28 2016 03:13:49)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

重启Apache:

service httpd stop && service httpd start

报错:

/etc/init.d/httpd: line 81:  3668 Segmentation fault      $HTTPD -k $ARGV

原因在于Apache配置文件中模块libphp5.so还在加载中,但是5已经被删除了,新安装了7,所以需要将libphp5.so这一行注释掉,只加载libphp7.so。

打开httpd.conf文件:

/usr/local/apache2/conf/httpd.conf

将libphp5.so这一行注释掉:

#LoadModule php5_module modules/libphp5.so
LoadModule php7_module modules/libphp7.so

重启Apache:

service httpd start

Apache正常启动。

常见报错备注

如果configure时报错:

configure: error: Cannot find ldap libraries in /usr/lib

参考:http://www.111cn.net/sys/linux/44746.htm

提示在/usr/lib 下找不到相关模块,这是因为64位的linux默认把以上文件都存在 /usr/lib64 文件夹下。

cp -frp /usr/lib64/libldap* /usr/lib/

备注1:

通过源码编译安装zlib跟libzip后,必须在configure中指定以下两个参数的路径:

--with-zlib-dir=DIR
--with-libzip=DIR

否则会出现报错。

备注2:–with-mysql

中间只报告了一个mysql无法扩展无法安装。

因为PHP7已经移除mysql了,现在主要使用mysqli和pdo连接mysql。

在configure 命令中 删除 –with-mysql 这一项即可。

备注2:–enable-opcache=no

使用大于php5.4版本的时候–enable-opcache可能会在./configure阶段就报错:

configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

这句话的意思是让你关闭opcache,但是既然要使用新版本为何不开启opcache?执行下面这2句:

echo "/usr/local/lib">> /etc/ld.so.conf
ldconfig -v

以上操作是更新动态库,只有这样设置之后才能安装opcache选项。

常见报错:#error unsupported size of off_t

在make的时候又出现了编译错误:

In file included from /home/data/php-5.5.38/ext/zip/lib/zip_add.c:36:0:
/home/data/php-5.5.38/ext/zip/lib/zipint.h:126:2: error: #error unsupported size of off_t
 #error unsupported size of off_t
  ^
make: *** [ext/zip/lib/zip_add.lo] Error 1

https://bugs.php.net/bug.php?id=68302找到了答案:

执行命令:

export CFLAGS="-L/opt/xml2/lib"

然后清除上一次编译的错误:

make clean

重新执行configure命令编译。

怎样编译安装PHP7

2016年8月30日

参考:https://typecodes.com/web/centos7compilephp7.html
参考

下载源码编译安装

下载:http://php.net/downloads.php

wget http://php.net/distributions/php-7.0.18.tar.xz && tar -xvf php-7.0.18.tar.xz && cd php-7.0.18

开始configure配置:

configure时注意(因为配置不当会导致各种报错,参看后面的报错备注,这些已在如下配置中解决。):
a、指定安装路径,方便换版本及删除,也方便自己查找文件。
b、指定apache的相关文件apxs2的路径。
c、指定配置文件路径,方便配置。
d、指定相关lib文件的路径,本文是在64位系统下的lib64。

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache=no --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-mysql-sock --with-pdo-mysql --enable-mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-kerberos --enable-calendar --enable-exif --with-gmp --enable-intl  --with-ldap --with-libmbfl --with-xmlrpc --enable-maintainer-zts --enable-zend-signals --with-openssl --with-xsl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl=/usr/lib64 --with-bz2 --with-gd --with-gd=/usr/local/gd --enable-gd-jis-conv --enable-gd-native-ttf --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/png --with-freetype-dir=/usr/local/freetype --with-zlib --with-pcre-dir --with-libzip=/usr/local/lib --enable-zip --with-readline --with-apxs2=/usr/local/apache2/bin/apxs

configure时如果报错:configure: error: Cannot find ldap libraries in /usr/lib

参考:http://www.111cn.net/sys/linux/44746.htm

提示在/usr/lib 下找不到相关模块,这是因为64位的linux默认把以上文件都存在 /usr/lib64 文件夹下。

cp -frp /usr/lib64/libldap* /usr/lib/

然后开始 make:

make ZEND_EXTRA_LIBS='-liconv'

make 时如果报错:undefined reference to symbol ‘ber_scanf’

参考:http://www.oschina.net/question/56833_128548?sort=time

/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_scanf'
/usr/bin/ld: note: 'ber_scanf' is defined in DSO /lib64/liblber-2.4.so.2 so try adding it to the linker command line
/lib64/liblber-2.4.so.2: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

编辑MakeFile,找到 118行 开头是 ‘EXTRA_LIBS’ 这一行 在结尾加上 ‘-llber’ :

EXTRA_LIBS = ... -llber

重新make(注意不能make clean,因为这样的话MakeFile会还原),输出:

...
Build complete.
Don't forget to run 'make test'

如果执行命令 make test ,进程会卡死,止步于:

...
PASS Bug #66830 (Empty header causes PHP built-in web server to hang) [sapi/cli/tests/bug66830.phpt]

那就绕开此步,关闭进程后,重启进程直接 make install :

make install

输出:

...
libtool: install: install .libs/libphp7.so /usr/local/apache2/modules/libphp7.so
...
Installing PEAR environment:      /usr/local/php/lib/php/
...
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/root/php/php-7.0.18/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers:           /usr/local/php/include/php/ext/pdo/

运行:

libtool --finish /root/php/php-7.0.18/libs

输出

libtool: finish: PATH="/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/                                                                                                                     sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /root/php/php-7.0.18/libs
----------------------------------------------------------------------
Libraries have been installed in:
   /root/php/php-7.0.18/libs

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

添加/usr/local/php/lib/php to your php.ini include_path:

/root/php/php-7.0.18/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar

编译安装完成。

创建软连接:

ln -s /usr/local/php/bin/php /usr/local/bin/
ln -s /usr/local/php/bin/phpize /usr/local/bin/
ln -s /usr/local/php/bin/php-config /usr/local/bin/

查看版本:

php -v

输出:

PHP 7.0.18 (cli) (built: Aug 30 2016 10:25:11) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

重启Apache:

service httpd start

报错:

/etc/init.d/httpd: line 81:  3668 Segmentation fault      $HTTPD -k $ARGV

原因在于Apache配置文件中模块libphp5.so还在加载中,但是5已经被删除了,新安装了7,所以需要将libphp5.so这一行注释掉,只加载libphp7.so。

打开httpd.conf文件:

/usr/local/apache2/conf/httpd.conf

将libphp5.so这一行注释掉:

#LoadModule php5_module modules/libphp5.so
LoadModule php7_module modules/libphp7.so

重启Apache:

service httpd start

Apache正常启动。

常见报错备注

备注1:

通过源码编译安装zlib跟libzip后,必须在configure中指定以下两个参数的路径:

--with-zlib-dir=DIR
--with-libzip=DIR

否则会出现报错。

备注2:–with-mysql

中间只报告了一个mysql无法扩展无法安装。

因为PHP7已经移除mysql了,现在主要使用mysqli和pdo连接mysql。

在configure 命令中 删除 –with-mysql 这一项即可。

备注2:–enable-opcache=no

使用大于php5.4版本的时候–enable-opcache可能会在./configure阶段就报错:

configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

这句话的意思是让你关闭opcache,但是既然要使用新版本为何不开启opcache?执行下面这2句:

echo "/usr/local/lib">> /etc/ld.so.conf
ldconfig -v

以上操作是更新动态库,只有这样设置之后才能安装opcache选项。

常见报错:#error unsupported size of off_t

在make的时候又出现了编译错误:

In file included from /home/data/php-7.0.0/ext/zip/lib/zip_add.c:36:0:
/home/data/php-7.0.0/ext/zip/lib/zipint.h:126:2: error: #error unsupported size of off_t
 #error unsupported size of off_t
  ^
make: *** [ext/zip/lib/zip_add.lo] Error 1

https://bugs.php.net/bug.php?id=68302找到了答案:

执行命令:

export CFLAGS="-L/opt/xml2/lib"

然后清除上一次编译的错误:

make clean

重新执行configure命令编译。

怎样安装Elastic Search

2016年8月29日

Elastic Search 是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。ElasticSearch 提供多种语言的客户端 API:Java API、PHP API、Python API等。

官网:https://www.elastic.co/
中文:http://elasticsearch.cn/

比较:

参考:http://itindex.net/detail/52601-%E7%B4%A2%E5%BC%95-%E5%B7%A5%E5%85%B7-lucene
参考:https://yq.aliyun.com/articles/54636
参考:http://lutaf.com/158.htm
参考:http://www.cnblogs.com/ibook360/archive/2013/03/22/2975345
参考:http://www.wxdl.cn/index/solr4-solrcloud-elasticsearch-es

基本概念:

需要我们注意的是,这些概念理解只是解释其含义,不推荐强制翻译成中文。

Index:这是ES存储数据的地方,类似于关系数据库的database。

Document type:类似关系数据库的表,主要功能是将完全不同schema的数据分开,一个index里面可以有若干个Document type。

Document:类似关系数据库的一行,在同一个Document type下面,每一Document都有一个唯一的ID作为区分;

Filed:类似关系数据库的某一列,是ES数据存储的最小单位。

Cluster和Node:ES可以以单点或者集群方式运行,以一个整体对外提供search服务的所有节点组成cluster,组成这个cluster的各个节点叫做node。

shard:通常叫分片,是ES提供分布式搜索的基础,其含义为将一个完整的index分成若干部分存储在相同或不同的节点上,这些组成index的部分就叫做shard。

Replica:和replication通常指的是一回事,即index的冗余备份,可以用于防止数据丢失,或者用来做负载分担。

安装:

参考:http://blog.hackroad.com/operations-engineer/linux_server/11228
参考:http://www.cnblogs.com/iiiiher/p/5727233

下载安装包解压到某个目录即完成安装。

下载:https://www.elastic.co/downloads/elasticsearch

wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.5/elasticsearch-2.3.5.tar.gz && tar zxvf elasticsearch-2.3.5.tar.gz && cd elasticsearch-2.3.5 && cp -R elasticsearch-2.3.5 /usr/local/elasticsearch/

在终端给bin下的文件赋予执行权限:

chmod 777 /usr/local/elasticsearch/bin/elasticsearch

修改配置文件 /usr/local/elasticsearch/config/elasticsearch.yml :


不加-f也是可以的,那就是以后台运行,停止的时候需要kill掉当前的进程。

启动:

/usr/local/elasticsearch/bin/elasticsearch -f

停止:

ctrl^c组合键

检测:

打开浏览器输入 http://localhost:9200 ,如果有相关信息显示或者要你下载,那就是成功了,否则那就检查下端口是否被占用等问题。