分类 Linux 下的文章

前些天因为搬到朋友VPS上后,感觉少了点儿什么,但没在意。久了就发现了,怎么QQ邮箱里都没留言提醒!而后台一看却有人留言。其实原因是LNMP 0.9禁用了部分危险函数:

passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen

应该是因为禁用了pfsockopen、fsockopen 才造成SMTP无法发送邮件。只要从禁用列表中删除这两个函数就可以了,代码如下:

sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket/g' /usr/local/php/etc/php.ini

需要注意的是,这是一段代码,需要全部复制后执行。

然后重启让他生效:/etc/init.d/php-fpm restart

大功告成,测试用HGK SMTP发信没问题~

对于新手来说这个安装包是非常不错的,安装非常简单,而且功能强大,占用内存小。
以下是转载来的的图文安装教程,原文链接在文章底部。

系统需求:

需要2 GB硬盘剩余空间

128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统)

Linux下区分大小写,输入命令时请注意!

安装步骤:

1、使用putty或类似的SSH工具登陆;
登陆后运行:screen -S lnmp
如果提示screen命令不存在可以执行:yum install screenapt-get install screen安装,详细的screen教程点击这里

为了以防万一建议设置,如果万一网络突然断线或者不小心关掉了putty可以恢复原来的进程!

- 阅读剩余部分 -

在购买Linux VPS后,一般IDC都会给客户准备2块硬盘,一块用来存放用户数据,一块用来存放系统,这样在后台选择重做系统之后,另外一个磁盘分区的数据就不会丢失了..所以在购买VPS之后,要手动将另外一块硬盘激活,于是乎,就有了这个如何启用分区的教程:
通过fdisk -l我们可以看到/dev/xvdb(此名称因系统而异)容量有23.6G,
而且没有分区,接下来我们对它进行分区和挂载

[root@MyVPS ~]# fdisk -l
Disk /dev/xvda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1          13      104391   83  Linux
/dev/xvda2              14        1044     8281507+  8e  Linux LVM

Disk /dev/xvdb: 23.6 GB, 23622320128 bytes
255 heads, 63 sectors/track, 2871 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System

对/dev/xvdb(此名称因系统而异)进行分区:

[root@MyVPS ~]# fdisk /dev/xvdb(开始执行命令)
The number of cylinders for this disk is set to 2871.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

# 输入n新建分区
Command (m for help): n(直接输入n回车)
Command action
   e   extended
   p   primary partition (1-4)
# p(这里输入P 回车)

/dev/xvdb中第1个分区
Partition number (1-4): 1(输入1回车)
First cylinder (1-2871, default 1):(回车)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2871, default 2871):(回车键)
Using default value 2871

# 输入W保存退出
Command (m for help): w(输入W回车保存)
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

将新分区xvdb1(此名称因系统而异)格式化为ext3格式(可使用mount命令查看当前第一盘是什么格式,建议相同)

[root@MyVPS ~]# mkfs -t ext3 /dev/xvdb1(必须执行这个命令将分区格式化)
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2883584 inodes, 5765319 blocks
288265 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
176 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

我们示范将新分区xvdb1挂载到目录/home
因为home已经存在,所以我们挂载
mount /dev/xvdb1 /home(这个命令必须执行,不然无法挂载成功)
如果你需要挂载在别的目录.可以新建一个目录挂载.如:home1,使用如下命令:
mkdir /home1 mount /dev/xvdb1 /home1(这个是根据你的需求扩展命令)
完成后我们通过df -hal可以看到,新分区已经挂载到目录/home上了

[root@MyVPS ~]# df -hal (执行命令检查是否挂载成功)
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      5.7G  1.4G  4.1G  25% /
proc                     0     0     0   -  /proc
sysfs                    0     0     0   -  /sys
devpts                   0     0     0   -  /dev/pts
/dev/xvda1             99M   28M   67M  30% /boot
tmpfs                 256M     0  256M   0% /dev/shm
none                     0     0     0   -  /proc/sys/fs/binfmt_misc
sunrpc                   0     0     0   -  /var/lib/nfs/rpc_pipefs
/dev/xvdb1             22G  173M   21G   1% /home

最后添加开机自动挂载: echo "/dev/xvdb1 /home ext3 defaults 1 2" >> /etc/fstab(必执行命令,开机后自动挂载)
这样就完成了!
通过后台控制系统重做系统之后,只需要重新挂载一次即可
mount /dev/xvdb1 /home
最后,重新添加自动挂载即可:
echo "/dev/xvdb1 /home ext3 defaults 1 2" >> /etc/fstab

野草博客