邪恶君子 发布的文章

Hello,大家好!我是——邪恶君子!

今天,给大家分享一下解决源码包编译安装 LEMP 环境下开启 OpenSSL 功能问题的过程。前几天,在访问页面时,突然报错,要求开启 openssl 功能。那怎么办呢,首先想到的是 yum 安装,但是,安装后还是没解决,因为 LEMP 的环境是源码包编译安装的,所以,还需要编译安装 openssl。

经过邪恶不懈的努力,终于找到了解决办法,而且真的成功了,下面就给大家分享一下!

首先,要确保 LEMP 环境是源码包编译安装的,并且要清楚 PHP 的安装目录在哪里。

其次,可以通过 yum 源的方式或者源码包编译安装 OpenSSL、OpenSSL-devel 两个包。

然后,进入到 PHP 解压出来的目录里面,我这里的目录是 PHP-5.4.24。在 PHP 目录下,会有一个 ext 的扩展目录,进入里面,找到并进入 openssl 的目录。这时,我们所在的目录是:/root/php-5.4.24/ext/openssl

这个目录下会有如下文件,看图:

然后,执行 /usr/local/php5/bin/phpize 命令(在执行前要确保已安装 m4 和 autoconf 两个工具,否则会报错)。

注意:这里是我的phpize路径,根据自己的安装路径执行;如果找不到,使用 whereis phpize 查找。如果执行时报错无法找到 config.m4 文件,那么就把目录下面的 config0.m4 重命名 config.m4,因为 config0.m4就是config.m4 的模版。

如果命令成功执行完毕,那么目录下面就会自动多出个 configure 文件,这时,只需要编译安装就行了。过程如下:

# ./configure --with-openssl --with-php-config=/usr/local/php5/bin/php-config
# make && make install

耐心等候,安装完成后,会在当前的modules目录下面多出一个openssl.so文件;然后在php.ini配置文件最后面加上如下一行内容:

extension=openssl.so

然后,重启nginx服务和php-fpm,就可以了!

至此,在源码编译安装LNMP环境下开启openssl功能成功解决!


如果有在操作中遇到啥问题,可以留言交流一下,共同学习,共同进步!

Personal Home Page:http://linux.cn/space/16475

Hello,我是——邪恶君子!今天呢,给大家分享一下Linux上iSCSI的搭建,通过文字+图像的解说,不管你是小白还是菜鸟,都能够让你掌握搭建iSCSI的精华所在!

废话不多说,看招:

首先呢,给大家说一下本次教程的环境:系统版本:RedHat Enterprise Linux 6.2

在搭建iSCSI前呢,先把SELinux禁用;关闭防火墙并清空所有规则。并配置好yum源(直接挂载本地光盘,yum源指向本地就行)。

开始搭建

首先要安装一个包:scsi-target-utils-1.0.14-4.el6.x86\_64

#yum -y install scsi-target-utils

在这或许会有人抱怨了,邪恶啊,这么长的名字记不住肿么办?不要怕,没事,邪恶教你一招:直接执行命令#yum -y install scsi-target* 也可以,这下简单多了吧。

好了,安装完以后,要启动服务,iSCSI的服务为tgtd,直接启动就行了

#service tgtd start
#chkconfig tgtd on (设为开机启动)

到此,我们安装完毕,简单吧!!!

创建iSCSI

在创建前呢,你要在你的电脑上先分出一个区用来搭建iSCSI存储。邪恶这次是分出一个5G大小的分区来创建iSCSI,给大家附上我的分区图:

大家看到了吧,sda5,大小为5G!

其实,在这里简单的提一下,分区的大小你自己随便定,也可以是一个硬盘,都行!

接下来呢,就是激动人心的时刻,关键来了哦,邪恶所说的精华就是接下来的内容,看招:

执行下面的三条命令:

#tgtadm --lld iscsi --mode target --op new --tid 1 -T iqn.mailtest.com.20140916:disk1
#tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/sda5
#tgtadm --lld iscsi --mode target --op bind --tid 1 -I ALL

给大家简单解释一下命令,建议大家在执行前先执行一下

#tgtadm --help

看一下命令的帮助文档。

第一条命令,只需掌握 --tid后面的参数“1”,这个“1”在这里就是个编号,你也可以设为2,不过建议大家从1开始,习惯嘛!然后就是-T后面的参数,-T后面的参数自己随便写,但记住一点就行,需以iqn开头,然后后面的你想怎么起都行,一般都是"iqn.hostname:diskX",hostname就是你的主机名,X代表编号。

第二条命令,需要记住--tid后面的参数必须要和第一条的一样, --lun后面的参数也是代表编号,和第一条命令的--tid类似,-b后面就跟你要搭建iSCSI的分区就行。

第三条命令,更简单,只需注意--tid后面的参数要和第一条、第二条的一样,其实第二条和第三条都是以第一条的为基准的,然后就是-I后面的参数,这里设置为ALL是代表允许所有的IP都可以访问。你也可以设置为个别的IP,具体的可以参考帮助文档。

执行完以后,可以执行

#tgt-admin -s

查看一下自己创建的iSCSI,这里把我自己搭建效果图给大家附上

从图上可以看到,刚才自己创建的iSCSI Target及编号,也可以看到自己创建的lun和编号,最下面可以显示出用的哪个分区创建的。

到此,搭建完毕,是不是很简单!

这在儿,有个要点需记住,那就是开机后,上面3条命令创建的iSCSI会失效,要想开机后还有,那就把上面的3条命令添加到/etc/rc.d/rc.local里面,看图:

这样,以后在重启或关机后再开机就可以保证创建的iSCSI失效了!

或许到这儿,就会有人问了:“邪恶,你为什么不讲一下理论知识?”。

邪恶回答你的很简单:一讲理论就讲的多了,就需要花很大的文字去讲解,而且邪恶也不敢保证理论讲的是否正确。邪恶在此顺便给大家说一下,邪恶的原则是通过自己的实践和自己的心得和体会,尽量的写的精简点,然后分享给大家,让菜鸟和小白都能快速掌握,至于理论知识,百度上一大堆,都解释的很详细,一看就明白!

客户端测试

接下来,邪恶再给大家讲一下怎么验证自己搭建的iSCSI是否可用,同时也讲一下客户端的操作!看招:

首先,客户端需要先安装iscsi-initiator-utils包,执行命令安装:

#yum -y install iscsi-initiator-utils

如果这两个包的名字也记不住肿么办,没问题,邪恶我再教你一招,直接执行命令:#yum -y install iscsi-init*

安装完毕后,启动相应的服务,并设置为开机启动,命令:

#service iscsi start
#chkconfig iscsi on
#service iscsid start
#chkconfig iscsid on

好了,到此呢,准备工作已准备完毕,各位,接下来就是见证神奇的时刻:

在客户端执行下面两条命令:

#iscsiadm -m discovery -t sendtargets -p 10.30.12.121:3260(效果看下图)

到这一步就可以看出,你服务端创建的iSCSI Target 的编号和名称。这条命令只需记住-p后面跟iSCSI服务的地址就行了,也可以是主机名,都可以!3260是服务的端口号,默认的!

#iscsiadm -m node -T iqn.mailtest.com.20140916:disk1 -p 10.30.12.121:3260 -l(效果看下图)

好了,已经看到successful。成功了!验证和客户端都是这样操作的,两条命令就okay了!

简单吧!这时,你就可以执行#fdisk -l 查看自己的分区了,会多出一个硬盘,效果见图:

看到了吧,我已经用红色的框框给大家标注出来了,是不是很神奇呢?

各位!到此,整个教程就结束了!你是否学会了呢!不管是否掌握了,先给自己鼓个掌吧,辛苦自己可以从头仔细认真的学到尾!谢谢大家的支持,希望可以多多交流!欢迎大家指出有错误的地方,或者写的不好的地方,供改进,促提升!