群晖NAS安装web服务器和搭建PHP环境

最近折腾了一台群晖NAS,并搭建了一套web服务器,关于其中的一些设置,和传统的Linux的配置还不太一样,因此记录下来。

本机的群晖系统信息如下(DSM7.2.1):
在这里插入图片描述

安装Web Station 和 PHP

首先,在群晖的“套件中心”中找到 Web Station 直接点击“安装套件”:
在这里插入图片描述
安装后,直接nginx就已经被安装了,打开后,点击 PHP7.3后面的一个箭头,就会跳转到PHP的安装页面,直接安装即可:
在这里插入图片描述
在这里插入图片描述

配置PHP

如下图所示,可以勾选需要自定义的PHP的扩展,或者其他的配置项:
在这里插入图片描述

配置新站点(虚拟主机):

打开 Web Station,进入:网络门户 --> 新增:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后,访问IP地址后面跟上自定义的端口(我这里是5100端口),即可访问你的站点。

配置nginx

我这里使用的是thinkphp 框架,需要配置nginx的rewrite,默认的套件控制面板上没有提供配置项,因此需要登录服务器来配置。

进入 /usr/local/etc/nginx/conf.d 目录,这里面会有很多的nginx的配置文件,并且命名没有规则(或者说目前我还没有找出它们的规则),那么应该怎么定位到刚才自己创建的虚拟主机的配置呢?

可以通过创建时间来查找,比如我刚才大概是 23点左右创建的虚拟主机,那么大概应该就是下面这个文件了:
在这里插入图片描述
打开后一看,果然就是。在这个文件的最后面有一行:include /usr/local/etc/nginx/conf.d/a5ab61b3-3ae0-43a4-9f52-241763092a0b/user.conf*;
在这里插入图片描述
这一行的路径表示用户可以自定义的当前虚拟主机的nginx的配置文件。OK,直接进入。

但是,却提示此目录不存在:
在这里插入图片描述
没关系,直接创建一个目录,并且创建一个 user.conf文件:
在这里插入图片描述
然后可以在此文件中写入Nginx配置,需要注意的是,这个文件只是配置文件的一部分,所以不能有server{}。比如我这里要自定义rewrite:

location / {
	    if (!-e $request_filename) {
	         rewrite ^/index.php(.*)$ /index.php?s=$1 last;
	         rewrite ^(.*)$ /index.php?s=$1 last;
	         break;
    	}
        # Redirect everything that isn't a real file to index.php
        try_files $uri $uri/ /index.php?$args;
}

然后通过命令 sudo nginx -s reload 重启nginx,或者在套件中心重新启动 Web Station 也可以。

安装MariaDB

MariaDB 是 MySQL的一个分支,用法基本和MySQL类似。直接在套件中心搜索 MariaDB 然后安装即可:
在这里插入图片描述
安装完成后会提示你输入root账户的密码,然后打开,勾选“启用TCP/IP连接”,如果不勾选,无法远程连接。
在这里插入图片描述
同时,需要勾选控制面板中的“启用SSH功能”
在这里插入图片描述

修改数据库配置

通过远程连接工具(例如 SecureCRT)远程连接到NAS服务器,并且通过命令 sudo -i 切换到root 用户,进入到 MariaDB的目录: /var/packages/MariaDB10/etc,然后新建一个配置文件: my.cnf,写入如下内容:

[mysqld]
port=3306
innodb_strict_mode=0

在这里插入图片描述
这里的内容可以根据你自己的需要进行配置。不能更改默认的my_port.cnf文件:
在这里插入图片描述

参考:https://kb.synology.cn/zh-cn/DSM/tutorial/Can_MariaDB_settings_be_customized_on_Synology_NAS

配置远程连接

在 Web Station 里面,可以安装phpMyAdmin,安装后打开,进入:账户 ---> root ---> 修改权限
在这里插入图片描述
然后按下图提示修改:
在这里插入图片描述
保存后,会生成一个新的root账户:
在这里插入图片描述

远程连接

可以使用 Navicat 等远程连接工具进行连接:
在这里插入图片描述
然后,我在导入原有的 mysql5.7 导出的 .sql 文件的时候报了一个错:[ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB
解决方案,修改 /var/packages/MariaDB10/etcmy.cnf 增加如下内容:

innodb_strict_mode=0

修改后,命令行查询 show variables like '%innodb_strict_mode%'; 如果显示OFF就可以了:
在这里插入图片描述

参考:https://blog.csdn.net/qq_34975663/article/details/138116242

  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮尘笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值