N1盒子性能不浪费!尝试在N1盒子上部署PHP+KodBox云桌面
创作立场声明:本文为纯技术干货内容,参考了网上的一些公开资料,无任何商业推广,欢迎各位小伙伴批评指正~
Intro
各位小伙伴我又回来啦~昨天刚部署好Unifi控制器,一看内存和CPU占用都还有不少空余,干脆直接部署一个PHP运行环境+KodBox云桌面当轻型文件存储服务器继续榨干N1的性能空余,接下来开始吧~
本文参考了CSDN博主RicheyJang的方法和其他互联网公开资料,在这里对资料的作者表示感谢~
环境配置&准备
检查系统内核版本
我这里用的N1系统是基于Ubuntu内核的,软件兼容性和依赖问题解决起来比较简单,如果不知道自己的内核是什么的话,可以用命令
uname -v
查询系统的内核,比如我这里的输出就是
5.77 user-built Ubuntu 18.04.5 LTS 5.0.2-aml-s905
或者也可以直接在第一次登陆的时候看到欢迎信息上提示的内容,像这样
在欢迎信息上也可以看到内核的版本。
我本来想用源码编译安装nginx和php的,但是不知道为什么总是出现依赖问题,到最后直接用apt包管理器解决了安装的那堆奇奇怪怪的问题。这里建议大家直接用apt安装,能省很多事。
大概的系统架构
我这里采用的是Nginx+PHP7.2+MariaDB(MySQL)+Memcached作为整体的框架,当然也可以使用Redis作为缓存,我个人习惯用基于内存的缓存,这样清理起来比较方便,基于文件的缓存的话效率也不错,根据实际情况选择就好~
安装相关软件
这里要用的软件比较多,可以分几个步骤安装,首先是Nginx+MariaDB+Memcached,在执行之前先更新一下缓存
apt update
然后执行
apt install -y nginx mariadb-server memcached
回车之后耐心等待一下就安装好了。安装结束后执行一下
mysql_secure_installation
就可以进入MariaDB的安装流程,按照指引做就行,提示语都是英语,如果英语水平OK的话一般问题不会太大。下面的流程仅供参考,可以根据自己的实际情况进行调整。
首先是输入当前的数据库root密码,在Linux下密码默认是不回显的,直接输入+回车就行,并不是卡住了。
注意是数据库的root用户的密码,不是系统的root用户的密码,当然这两个可以是一样的。
输入正确之后可以直接进入下一步,会问你是不是需要改密码,不需要的话直接回答n就行。
驶入完成之后会问你是不是需要删除匿名用户,默认情况下MariaDB会随着安装创建一个匿名用户用来测试。出于安全起见,一般是建议删除掉的,如果是用于生产环境的话最好还是删掉匿名用户,这里我选择删除,回答y。
接下来会询问你是不是要禁止root用户的远程登录,从安全的角度考虑root用户最好还是只能给本地的localhost连接比较好,这里我回答y,也就是禁止远程root登录。
然后就是询问是否删除默认用来测试的test数据库,这个一般直接删了就行,回答y。
最后就是询问是不是要重新载入特权表,让刚才的修改立即生效,这里直接回答y就行。
当出现Thanks for using MariaDB!的提示的时候,整个配置过程就结束了接下来就是其他的时间啦~
然后就是安装php的时间~ 执行以下命令就好
apt install -y php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml php7.2-intl php7.2-gd php7.2-memcached
耐心等待一下就可以安装完成。
如果提示找不到软件包的话,可以执行以下这个命令
add-apt-repository ppa:ondrej/php && apt update
然后安装就应该可以了。
Nginx和php的配置
配置之前还是最好检查一下php和nginx是不是都已经运行了,执行
php -v && systemctl status nginx
可以看到类似下面的输出的话那就证明php和nginx都已经正常工作了。
接下来先配置php,用nano编辑以下文件
nano /etc/php/7.2/fpm/pool.d/www.conf
然后找到listen = /run/php/php7.2-fpm.sock这行,改成
listen = 127.0.0.1:9000
默认情况下用9000端口就行,如果9000被占用的话可以用其他端口。
然后用nano编辑/etc/nginx/nginx.conf文件,找到http的配置,更改为以下内容
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 10G;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 720;
fastcgi_connect_timeout 3600;
fastcgi_send_timeout 3600;
fastcgi_read_timeout 3600;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6].";
server_tokens off;
更改后的内容大概是这样的。
然后我们到/etc/nginx/sites-enabled目录下,把default.conf改成下面的内容就行了。
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm;
server_name _;
sendfile on;
location /.git {
deny all;
return 403;
}
location ~ [^/].php(/|$) {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
set $path_info $fastcgi_path_info;
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
include fastcgi_params;
}
location ~* .(jpg|jpeg|gif|png|css|js|ico|webp|tiff|ttf|svg)$ {
expires 30d;
}
location ~ .*.(js|css)?$
{
expires 12h;
}
location ~ /. {
log_not_found off;
deny all;
}
location ^~ /.well-known {
allow all;
auth_basic off;
}
location = /favicon.ico {
log_not_found off;
}
}
改好之后Ctrl+X保存退出,文件应该是这样的。
这时候重启nginx和php-fpm就行了,执行下面的命令
service php7.2-fpm restart && service nginx restart
就可以重启php和nginx了。
之后到可以访问一下盒子的IP,如果出现这个页面的话Nginx应该是正常的。
数据库的配置
配置完成之前的所有内容后,就可以开始处理数据库有关的东西了,如果熟悉SQL语言的话这个部分应该不难。也可以参考下面的步骤。
先输入mysql进入操作界面,像这样。
然后输入(自己改用户名和密码哈~)
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'localhost' IDENTIFIED BY '这里是密码';
然后刷新一下特权表
FLUSH PRIVILEGES;
之后输入exit退出,重新用用户名+密码的方法进入数据库的操作界面
mysql -u用户名 -p密码
注意-u和-p后面直接跟着用户名和密码就行,不需要空格或者多余的符号。
重新登录之后,新建一个数据库用来存放KodBox的数据。
CREATE DATABASE 数据库名字 DEFAULT CHARACTER SET UTF8;
然后输入exit就可以退出数据库的操作界面了。
KodBox的安装
完成以上配置之后,直接到kodbox官网下载最新版的kodbox放到/var/www/html里就行,然后访问盒子的IP就可以进入向导,安装的时候缓存选择Memcached,如果权限出现问题的话执行以下命令就可以修改权限。
chmod -R 777 /var/www/html
然后按照教程一步步走就好了,这里就不展开说明啦~
如果权限检查时上面的样子应该就没什么问题了,直接按照引导走就行,安装好后登陆就行~
安装好后CPU占用倒是不高。。内存占用一下子就上去了
2G的内存真的伤不起。。
以上就是这次折腾的全部内容啦~ 如果有帮助的话就请点个赞 谢谢啦~
















你你你你要跳舞吗
校验提示文案
煮鸡蛋
校验提示文案
城给月即
校验提示文案
romanvlan
校验提示文案
得儿意的der
校验提示文案
telanx
校验提示文案
城给月即
校验提示文案
telanx
校验提示文案
煮鸡蛋
校验提示文案
你你你你要跳舞吗
校验提示文案
romanvlan
校验提示文案
得儿意的der
校验提示文案