美文网首页
笔记:debian下LEMP安装过程及配置

笔记:debian下LEMP安装过程及配置

作者: black_history | 来源:发表于2019-12-20 16:18 被阅读0次

    系统:debian10
    安装:nginx、MariaDB、PHP

    1. 安装nginx
    apt update
    apt install nginx
    
    2. 安装数据库

    apt install mariadb-server

    3. 初始化mariadb

    mysql_secure_installation
    按提示操作即可

    4. 安装php

    首先检验apt-transport-https lsb-release ca-certificates是否安装,未安装就安装

    然后安装php源的信任秘钥
    wget -o /etc/apt/trusted.gpg/php/gpg https://package.sury.org/php/apt.gpg

    添加源
    'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
    更新
    apt update

    在使用apt install php时会默认安装apache2及相关依赖,既然不需要apache,那就不使用apt install php,只安装需要的扩展即可。以5.6版本为例:
    apt install php5.6-fpm php5.6-mysql php-5.6-commom php5.6-gd php5.6-json php5.6-cli php5.6-curl

    5. 检查nginx、php-fpm、mariadb是否启动

    server 服务 status

    6. 环境配置

    nginx配置文件:/etc/nginx/nginx.conf /etc/nginx/sites-enabled/default
    php网站根目录:/var/www/html/

    以安装typecho为例:

    1. 解压文件至php网站根目录

    2. 修改MariaDB数据库root用户的认证方式为"mysql_native_password"

      root用户的默认认证方式为'unix_socket',这种认证方式在命令行环境登陆mariadb无需密码,但是无法远程连接
      建议为网站程序新建数据库用户,而不是修改root用户 这里修改root用户是做个笔记,也是图方便

      mriadb
      update mysql.user set plugin='mysql_native_password' where user='root';
      \q
      
    3. 安装typecho即可

    4. typecho 安装后内页404解决方案
      官方解决方案:http://docs.typecho.org/faq
      主要是nginx的网站配置:
      location ~ .*\.php$ 改为 location ~ .*\.php(\/.*)*$即可解决

    7. 重新安装nginx
    1. 卸载
      apt remove --purge nginx
      apt auto remove
      
    2. 筛选nginx相关的已安装软件
      dpkg --get-selections |grep nginx
    3. 卸载它们,如:
      apt remove --purge nginx-common
    4. 重新安装
      apt install nginx
    8. 完全卸载MariaDB
    9. 安装MySQL
    10. nginx重启出现nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument错误

    原因:

    因为 nginx 启动需要一点点时间,而 systemd 在 nginx 完成启动前就去读取 pid file 造成读取 pid 失败

    解决办法:

    让 systemd 在执行 ExecStart 的指令后等待一点点时间即可 如果你的 nginx 启动需要时间更长,可以把 sleep 时间改长一点

    相关命令:

    mkdir /etc/systemd/system/nginx.service.d
    printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf
    systemctl daemon-reload
    systemctl restart nginx
    

    相关文章

      网友评论

          本文标题:笔记:debian下LEMP安装过程及配置

          本文链接:https://www.haomeiwen.com/subject/unhinctx.html