标签搜索

手动安装轻量级Typehco环境

anker
2021-06-28 / 0 评论 / 11 阅读 / 正在检测是否收录...
  1. 考虑的出发点
    对于只有512MB内存的微型服务器来说,基本没有很难有充足的资源来运行nginx+apache+mysql环境来运行typecho. 这种方案下,运行php的其实是apache模块。他集成了一个php的扩展。(使用Oneinstack不安装apache也是一样的效果)
  2. 选择nginx+php-fpm+sqlite
    这种模式下,可以控制php-fpm的数量等。对于个人知识管理博客系统来说,应该是足以应付。另外单文件模块的sqlite也方便备份。
  3. php版本的选择php7.3
    其实只是尝试,没有太多研究。就是看到网上鼓吹的性能提升就拍脑袋了,呵呵。
  4. php扩展pdo_sqlite
    因为使用remi仓库安装,没有自己编译。导致没有内嵌集成。所以要额外配置。
  5. nginx+php-fpm配置。
    a. nginx帮助手册
    b. try_files或者rewrite

    try_files $uri $uri/ /index.php$uri?$query_string;

    c. fastcgi_index配置出现的问题
    d. typecho用到的几种URL模式。
    e. 常用的php排除办法和nginx日志。
    f. nginx伪静态规则配置

  6. typecho系统提供的备份是不包含图片(upload目录)和主题的!!

详细操作:

# 安装nginx
yum install epel-release -y
yum install nginx -y
systemctl start nginx
systemctl enable nginx

# 安装php-cgi和sqlite依赖
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php73
yum install php
yum install php-fpm
yum install sqlite sqlite-devel
yum install php73-php-pdo
yum-config-manager --disable remi-php73
####################################################################
# 让php通过pdo_sqlite来使用sqlite3, php7默认是没有内置该模块
#    > locate pdo_sqlite.so
#    /opt/remi/php73/root/usr/lib64/php/modules/pdo_sqlite.so
#    > rpm -qf /opt/remi/php73/root/usr/lib64/php/modules/pdo_sqlite.so
#    php73-php-pdo-7.3.0~rc5-1.el7.remi.x86_64

# 需要额外配置php-fpm加载pdo
使用php -m | grep pdo_sqlite检查pdo是否已经正确配置
如果没有找到pdo模块,则手动配置php
    # 手动编辑/etc/php.ini
    # [sqlite3]
    # ; add by lcm
    # extension_dir = "/opt/remi/php73/root/usr/lib64/php/modules/"
    # ; add by lcm
    # extension=pdo.so
    # extension=pdo_sqlite.so
    # extension=sqlite3.so

# 配置nginx和php-phm通信方式:
# 建议使用本地TCP端口
# 如果使用unix socket的方式进行nginx和php-fpm通讯,则需要检查两个进程对这个套接字文件的权限
#    改变运行fastcgi用户为nginx
#    引入来源:/etc/php-fpm.conf
#    主要修改文件:/etc/php-fpm.d/www.conf
#    user = nginx
#    group = nginx
#    listen = /run/php-fpm/www.sock
#    ...
#    listen.owner = nginx
#    listen.group = nginx
#    修改php库相关文件权限
#    chown -R root:nginx /var/lib/php
#启动php-fpm
systemctl enable php-fpm
systemctl start php-fpm
0

评论 (0)

取消