LNMP是指网站服务器架构:Linux系统下Nginx+PHP+MySQL。

Linux: 是一类计算机操作系统的统称,这里使用的是armbian。

Nginx: 是网页伺服器也是高性能的HTTP和反向代理伺务器。

PHP: 是一种嵌入HTML文档的脚本语言。

Mysql: 是一个数据库管理系统。

1、Nginx - 网页伺服器安装:

apt install -y nginx

2、PHP - 安装:

apt install -y php php-fpm php-mysql php-gd php-curl php-mbstring php-xml php-xmlrpc php-json php-zip php-intl php7.3-xml php7.3-common

3、修改php.ini文件

修改前先停止php服务:systemctl stop php7.3-fpm

cp /usr/lib/php/7.3/php.ini-production /etc/php/7.3/fpm/php.ini

nano /etc/php/7.3/fpm/php.ini

常见修改项目为:

修改 php.ini 通常涉及以下几个方面的常见配置:

  • 性能优化 memory_limit :
    设置PHP脚本可使用的最大内存量,如将其设置为 256M 以满足复杂脚本或处理大量数据的需求。 
  • max_execution_time :
    规定PHP脚本的最大执行时间,单位为秒。若脚本执行时间可能较长,可将其调大,如设置为 60 秒。 
  • opcache.enable :
    开启OPcache,可提高PHP脚本的执行速度。将其设置为 1 表示开启。
  • 错误处理与日志 display_errors :
    设置是否在页面上显示错误信息。开发环境可设为 On ,生产环境建议设为 Off ,以避免暴露敏感信息。 
  • error_reporting :
    指定报告哪些类型的错误。开发时可设为 E_ALL ,生产环境则根据实际情况选择,如 E_ERROR | E_WARNING | E_PARSE 。 
  • log_errors :
    设为 On 时,PHP会将错误信息记录到日志文件中,便于排查问题。
  • 安全设置 disable_functions :
    列出禁止PHP执行的函数,可防止一些危险操作,如 system 、 exec 等函数,根据安全需求进行配置。 
  • session.cookie_secure :
    设为 1 时,仅通过HTTPS连接发送会话Cookie,提高会话安全性。
  • 数据库连接 pdo_mysql.default_socket :
    指定PDO连接MySQL时使用的套接字文件路径,确保能正确连接到数据库。
  • 文件上传 upload_max_filesize :限制上传文件的最大大小,如设为 20M 。 
  • post_max_size :
    限制通过POST方法提交的数据最大大小,一般应大于 upload_max_filesize 。

修改完成后重新启动php服务:systemctl restart php7.3-fpm

4、編寫nginx設定檔對PHP支持

  • vi /etc/nginx/sites-enabled/default

请输入图片描述

测试Nginx设置是否正确:

  • nginx -t
  • 重启nginx服务器
    service nginx restart
  • 添加PHP测试页面:
    echo "<?php phpinfo(); ?>" > /mnt/sda/www/html/info.php

5、Mysql - 数据库管理系统安装:

出于硬件限制,在armbian的系统内,优先使用MariaDB数据库管理系统。

MariaDB是MySQL关联式资料库管理系统的一个复刻

出于硬件限制,在armbian的系统内,优先使用MariaDB数据库管理系统。

MariaDB是MySQL关联式资料库管理系统的一个复刻。

  • 安装数据库:

apt install -y mariadb-server

mysql -v查询版本号

  • 执行数据库配置向导:
mysql_secure_installation

image.png

  • 账户设置
    直接输入mysql直接登录
    mysql
    -查询用户表
    select User,host from mysql.user;
  • 使用mysql数据库
    use mysql;
    GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

添加一个可以从任何地址登录的root账户密码建议复杂一点

mysql用户想连到mysql,需要使用grant命令给用户授权,有一个简单的办法,可以使用grant ALL privileges 命令给用户授予所有权限, 你想myuser使用mypassword从任何主机连接到mysql服务器的话。

主要使用:GRANT ALL PRIVILEGES ON . to 'root'@'%'; 命令授权.

  • grant给root使用root密码从任何主机连接到mysql服务器。
    GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  • 或者
    GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root';
    FLUSH PRIVILEGES;
  • grant给root用户授予操作mysql所有数据库的所有权限

5、自动挂载u盘,把typecho安装到u盘
修改/etc/rc.local文件,并给它可执行权限。
6、nginx修改web目录到u盘目录

nano /etc/nginx/sites-enabled/default,打开nginx配置文件

修改server块为:

root /mnt/sda/web/typecho;

7、重新加载Nginx配置以使更改生效
通常使用以下命令:sudo nginx -s reload
或者重启Nginx服务:sudo systemctl reload nginx
或者在不同的系统中:sudo service nginx reload

标签: none

添加新评论