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

文章目录

  • 安装Web Station 和 PHP
    • 配置PHP
    • 配置新站点(虚拟主机):
    • 配置nginx
  • 安装MariaDB
    • 修改数据库配置
    • 配置远程连接
    • 远程连接

最近折腾了一台群晖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.phptry_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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/332912.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣HOT100 - 31. 下一个排列

解题思路: 数字是逐步增大的 步骤如下: class Solution {public void nextPermutation(int[] nums) {int i nums.length - 2;while (i > 0 && nums[i] > nums[i 1]) i--;if (i > 0) {int j nums.length - 1;while (j > 0 &&…

基于51单片机多功能太阳能充电器设计

1 绪论1.1 本课题研究背景及现状 当代社会随着一些不可再生资源如煤炭,石油等日益减少,使得各国社会经济越来越受能源问题的约制,因此许多国家开始逐渐的实行“阳光计划”,开发洁净的能源如太阳能,用以成为本国经济发…

javaEE—图书管理系统(基础代码版)

前言: 本篇博客是集合了javaEE所学的知识构建的一个基础框架,讲述着面向对象的过程是如何做到多对象交互协作完成框架的构建的。利用了数组,接口,类和对象,抽象类,Object类等知识来完成。 后续会加入数据…

BGP选路实验

编写实验报告: 1、拓扑信息 2、要求及分析 3、配置命令 4、测试 1、拓扑信息 2、要求及分析 1、使用preval策略,确保R4通过R2到达192.168.10.0/24 2、使用AS Path策略,确保R4通过R3到达192.168.11.0/24 3、配置MED策略,确保R4…

嵌入式UI开发-lvgl+wsl2+vscode系列:1、资料收集以及Windows下WSL2模拟环境运行示例demo

文章目录 一、前言二、资料收集三、Windows下WSL2上编译运行lvgl的demo程序1、lvgl简介2、lvgl特性3、配置要求4、Windows下vscodewsl2模拟环境搭建4.1、安装vscodewsl24.2、下载获取项目:4.3、安装显卡驱动4.4、下载lvgl并编译运行示例demo 四、最后 一、前言 UI界…

leetcode437 路径总和III-哈希表+前缀和

题目 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节…

专为汽车内容打造的智能剪辑解决方案

汽车内容创作已成为越来越多车主和汽车爱好者热衷的活动。然而,如何高效、便捷地将行车途中的精彩瞬间转化为高质量的视频作品,一直是困扰着广大用户的一大难题。美摄科技凭借其深厚的视频处理技术和智能分析能力,推出了专为汽车内容记录而生…

探索python循环逻辑的魅力:从无限到有限

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:循环逻辑的初步认识 二、无限循环:持续运转的引擎 三、有…

JavaWeb-JS

目录 学习重点 什么是 JavaScript? Web标准 JS的引入方式 JS的基本语法 JS的函数 JS的对象 JS事件监听 学习重点 js 引入方式 js 基础语法 js 函数 js 对象 js 事件监听 什么是 JavaScript? Web标准 Web 标准也称为网页标准 ,由一系列的标准组成&#xff0…

安泰电子:功率放大器的选择方法有哪些

选择适合的功率放大器是实现电子系统中的关键步骤之一。以下是一些选择功率放大器的常用方法和考虑因素: 功率需求:首先确定你的系统需要多大的功率输出。功率输出需求通常由被驱动设备的功率要求决定。计算出所需功率后,选择一个具有适当功率…

Java数组详解

Java数组详解 📚 Java数组详解:一篇文章搞懂Java中的数组知识摘要引言1. 数组的定义与创建📦1.1 数组的定义1.2 数组的创建及初始化数组不进行初始化时的默认值 2. 数组的遍历🔍2.1 使用for循环2.2 使用增强for循环2.3 使用Arrays…

斐讯N1刷OpenWRT并安装内网穿透服务实现远程管理旁路由

文章目录 前言1. 制作刷机固件U盘1.1 制作刷机U盘需要准备以下软件:1.2 制作步骤 2. N1盒子降级与U盘启动2.1 N1盒子降级2.2 N1盒子U盘启动设置2.3 使用U盘刷入OpenWRT2.4 OpenWRT后台IP地址修改2.5 设置旁路由&无线上网 3. 安装cpolar内网穿透3.1 下载公钥3.2 …

wordpress主题给网站增加一个版权声明区块代码分享

在数字化时代,网络上的信息传播变得越来越便捷,给人们生活和工作带来了极大的便利。然而,在这个过程中也产生了很多版权问题。为了更好地保护自己的版权,许多网站开始在其网页上添加版权声明。本文将探讨在网站上添加版权声明的重…

scala完整笔记-5万字一周入门到精通系列(一)

scala完整笔记-5万字一周入门到精通写在开篇 1.scala学习前一定要具备了解一些java基本知识,无需精通;如果从未接触java,最好熟悉一门编程语言,否则相对还是学习起来相对吃力且很难学懂 2.本篇主要以代码示例为主,很多…

亲测使用frp获得访问者真实ip

怎么访问都只有127.0.0.1这个内网ip,获取不到访问者的真实ip 1.打开frp的配置文件(一般是frpc.toml,无需设置frps.toml) 在每一个tcp协议中添加 transport.proxyProtocolVersion "v2" 实例: # frpc.toml [[proxies]] name "web" …

1小时从0开始搭建自己的直播平台(详细步骤)

本文讲述了如何从0开始,利用腾讯云的平台,快速搭建一个直播平台的过程。 文章目录 效果图详细步骤准备工作第一步:添加域名并检验cname配置1.先填加一个推流域名2. 点击完下一步,得到一个cname地址3. 将cname地址,配置…

路径规划 | 图解粒子群(PSO)算法(附ROS C++仿真)

目录 0 专栏介绍1 从鸟群迁徙说起2 粒子群算法基本概念3 粒子群算法流程4 粒子群算法ROS实现 0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规…

类和对象【六】友元和内部类

文章目录 友元友元的作用友元的缺点友元函数语法:特点: 友元类语法:特点: 内部类概念特点 友元 友元的作用 友元提供了一种打破封装的方式,有时提供了便利。 友元的主要作用就是打破封装 即可以让一个类的友元函数…

每日一题24:数据操作之第N高的薪水

一、每日一题 表: Employee ------------------- | Column Name | Type | ------------------- | id | int | | salary | int | ------------------- 在 SQL 中,id 是该表的主键。 该表的每一行都包含有关员工工资的信息。查询 Employee 表中第 …

C#--SVG矢量图画法示例

1.代码示例 <Viewbox Grid.Column"1" Grid.ColumnSpan"1" Grid.RowSpan"1" ><Path Name"ValveShape" Stroke"Black" Data"M 50,0 L 150,200 L 50,200 L 150,0 Z" Width"200" Height"…