手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:lnmp

服务器偷懒采用LNMP了。

服务器上曾经偷懒过,比如用宝塔,但如果不想要个界面那就用lnmp会相对方便一点,主要是配置多环境PHP会相对容易 

初始化安装就不谈了,直接说安装另一个版本的PHP吧。
进入 lnmp的目录。运行./install.sh mphp,选择一个和当前PHP不一样的版本。比如我正常是PHP8,但因为用了dcat-admin,只能用PHP7.4了,于是./install.sh mphp,选择php7.4,一路回车。安装完毕。
 
这时候还要改一下vhost的配置,原来conf中,include enable-php.conf,则要改成 include enable-php7.4.conf
 
然后要运行composer u,发现报错,因为composer.json中指定php<8,这时候只能这样运行:/usr/local/php7.4/bin/php /usr/local/bin/composer u,所有的都要指定全路径。
 
再次运行,居然还是报错,发现说少了一个zip组件。OK,重新进入lnmp的目录,再进入src目录。刚才安装的php7.4,会有一个tar.bz的文件存在,tar -xvf php7.4...tar.bz。解压到目录,并进入该目录下的ext/zip目录。运行: /usr/local/php7.4/bin/phpize,然后运行:./configure --with-php-config=/usr/local/php7.4/bin/php-config --with-zip,完事后:make && make install,这时候就完成了,但zip还是没有,因为使用 /usr/local/php7.4/bin/php -m|grep zip,一片空白
 
进入/usr/local/php7.4/etc/,修改php.ini文件,在extension_dir,下增加:extension=zip.so,由于laravel的composer在执行时需要proc_open和exec。等函数,检查 disable_function,删除掉一点程序。
<code>
  [Symfony\Component\Process\Exception\RuntimeException]
  The Process class relies on proc_open, which is not available on your PHP installation.
</code>
 
 
如果你本身enable_phpinfo(lnmp的配置),那你几乎可以把disable_function这一行重新注释起来。
 
至此,新环境搞定。如果是一些其他 插件,比如eacc/apc/opcache,直接在lnmp目录下,运行./addons.sh 即可
 

Tags: lnmp, bt

lnmp组件中sablog的配置纠错

lnmp是现在相对比较容易和被大家所接受的一个套装。由于我用的是Sablog所以我在设定vhost的时候就选了sablog,但是告诉我第二行出错了。

仔细检查了一下,好象确实是有这个问题,一来好象是编码也有问题,二来它copy的规则有点象是discuz的规则,和sablog系统后台中的规则不一样。所以,我根据 sablog后台中的规则进行了修正,立刻正常了。
sablog的默认规则是支持apache的rewrite的。如下:

XML/HTML代码
  1. # BEGIN Sablog-X  
  2. RewriteEngine On  
  3. RewriteBase /  
  4. # 文章  
  5. RewriteRule ^show-([0-9]+)-([0-9]+)\.shtml$ index.php?action=show&id=$1&page=$2  
  6. # 分类  
  7. RewriteRule ^category-([0-9]+)-([0-9]+)\.shtml$ index.php?action=index&cid=$1&page=$2  
  8. # 只带月份的归档  
  9. RewriteRule ^archives-([0-9]+)-([0-9]+)\.shtml$ index.php?action=index&setdate=$1&page=$2  
  10. # 用户列表、高级搜索、注册、登陆  
  11. RewriteRule ^(archives|search|reg|login|index|links)\.shtml$ index.php?action=$1  
  12. # 全部评论、标签列表、引用列表 带分页  
  13. RewriteRule ^(comments|tagslist|trackbacks|index)-([0-9]+)\.shtml$ index.php?action=$1&page=$2  
  14. # END Sablog-X  

注意那个.shtml,那是我自定义的URL后缀,所以你看我的博客的时候,都有这玩意。。。将就点了。说实话,我怀疑这个shtml对SEO有友好度,所以我才这么配置(纯属猜测)
改完后配置是这样的:

XML/HTML代码
  1. location / {  
  2.   
  3.         rewrite ^/show-([0-9]+)-([0-9]+)\.shtml$ /index.php?action=show&id=$1&page=$2 last;  
  4.         rewrite ^/category-([0-9]+)-([0-9]+)\.shtml$ /index.php?action=index&cid=$1&page=$2 last;  
  5.         rewrite ^/archives-([0-9]+)-([0-9]+)\.shtml$ /index.php?action=index&setdate=$1&page=$2 last;  
  6.         rewrite ^/(archives|search|reg|login|index|links)\.shtml$ /index.php?action=$1 last;  
  7.         rewrite ^/(comments|tagslist|trackbacks|index)-([0-9]+)\.shtml$ /index.php?action=$1&page=$2 last;  
  8. }  

其实看到没,与apache下的配置很相像,只是在最前面加了 ^/ ,然后在指向的文件前加 /
同时在最后加 last;
嗯,就这样。。。灰常方便,你换了没?

Tags: lnmp, sablog, apache, rewrite, seo