公开我的OpenLiteSpeed编译参数

OpenLiteSpeed是LiteSpeed Enterprise Web服务器的开源版本. 由于YUM库里只有1.4x版本,1.5又有好多吸引人的功能,我只好自己编译OLS.

以前我喜欢使用Oneinstack进行服务器环境的部署. 同样,这次我也通过控制configure参数的办法让OLS再使用上更加适应Oneinstack风格.

下面是我编译OLS时候用的configure参数

./configure --with-user=www --with-group=www  --with-brotli

大概的意思就是,运行时候的用户和用户组为"www",并且启用谷歌开源的Brotli压缩技术. 我一直喜欢用Oneinstack来单独部署数据库,这个时候Oneinstack都会默认帮我添加www用户. 为了利用起来,这里就指定在www用户下运行了.

接下来,我要手工编译LSPHP72

我发现Oneinstack编译出来的PHP有几个特征

  1. 支持在php.d文件夹下面用单独的配置文件进行配置添加
  2. 有一大堆的扩展,至少比默认参数要多

我用Excel排序并且比较了Oneinstack和OLS的编译参数之后. 整合成下面的编译参数.

对比编译参数
--disable-debug --disable-rpath --enable-bcmath --enable-exif --enable-ftp --enable-inline-optimization --enable-intl --enable-json --enable-maintainer-zts --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-zts --with-config-file-path=/usr/local/lsws/lsphp72/etc/php.ini --with-config-file-scan-dir=/usr/local/lsws/lsphp72/etc/php.d --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir=/usr/local --with-jpeg-dir --with-libxml-dir=/usr --with-litespeed --with-mcrypt --with-mhash --with-mysqli --with-mysqli=mysqlnd --with-openssl=/usr/local/openssl  --with-password-argon2 --with-pdo-mysql --with-pdo-mysql=mysqlnd --with-png-dir --with-sodium=/usr/local --with-xmlrpc --with-xsl --with-zlib

一般情况下直接make都会失败,解决方法也很简单,只需要增加一个参数就好.
这个参数是"ZEND_EXTRA_LIBS='-liconv'"当然后面也可以跟着"-j"参数来加速编译. 这个时候编译命令就变成这样了.

make ZEND_EXTRA_LIBS='-liconv' -j 64

这样子编译出来的LSPHP跟Oneinstack基本没啥区别了. 如果你想用Oneinstack来添加PHP扩展的话. 做一个软链接, 把/usr/local/lsws/lsphp72链接到/usr/local/php

ln -s /usr/local/lsws/lsphp72 /usr/local/php

然后在/etc/profile里加上一句

export PATH=/usr/local/php/bin:$PATH

之后执行

source /etc/profile

这样子环境变量生效之后,Oneinstack就可以把LSPHP当做是已安装的PHP了.

点赞

    发表评论

    %d 博主赞过: