一、准备工作
1、域名一个,并做好解析
2、VPS服务器一台
3、Nexusphp官网NexusPHP 文档 | Documentation,代码下载:Releases · xiaomlove/nexusphp · GitHub
二、安装
1、服务器安装1panel
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
安装过程会自动安装docker,如遇docker安装错误,执行以下脚本
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
2、安装基础组件
直接在其应用商店安装 OpenResty + Mysql + Redis,选择最新版安装即可。
对于 PHP ,建议安装 8.2 版本。来源选择应用商店,扩展模板选择 Default, 再额外添加 redis + gmp + opcache 即可。
3、创建网站
创建网站时,选择从运行环境创建,类型是 PHP,运行环境则是刚才安装的 PHP 环境,填写域名与代号,代号我的是nexusphp其他均默认即可。
4、上传代码
到 Github 下载程序最新版 release (opens new window)。 上传到网站根目录的上一层/opt/1panel/apps/openresty/openresty/www/sites/nexusphp中,然后解压出来,得到nexusphp-1.9.5.zip,将原 index 文件夹删除,再将解压出来的目录重命名为 index。进入到 index 目录,复制 nexus/Install/install
到 public/
,保证最后 public/install/install.php
存在。
5、配置网站
在网站配置,在网站目录一项,将运行目录选择为 /public
,点击保存并重截。对于运行用户/组一项要求你保存的,也点击保存。
切换至下边的伪静态一项,粘贴以下内容后点击保存并重载:
location / {
index index.html index.php;
try_files $uri $uri/ /nexus.php$is_args$args;
}
# Filament
location ^~ /filament {
try_files $uri $uri/ /nexus.php$is_args$args;
}
至于 HTTPS 证书,可以直接使用 cloudflare 的,这里略。
伪静态一项
6、安装依赖
点击 1Panel 容器大菜单,创建网站会自动创建一个 PHP 容器,点击终端按钮,在弹出的页面中什么都不用做直接点击连接,进入容器内部。 默认是在 /www 目录,一直走入到内容内部的网站根目录 /www/sites/nexusphp/index
,执行 composer install
安装依赖
安装成功,如果出错,请检查一下过程有没有错
7、安装npxusphp程序
点击 1Panel 大菜单——数据库,创建一个库用。
回到网站配置,在运行用户/组,如果有提示保存,点击保存之。
打开域名,会进入到安装界面。连接信息,Mysql+Redis要使用容器连接部分的地址和端口。
Redis创建时一定要自己修改密码,如果没有修改在应用商店已安装程序Redis编辑里查看。
打开域名设置网站:打开域名第一步是全yes,第二步填写信息如下:
查看容器名:
在第三步的时候,只点一次,等待一段时间会进入第四步,千万不要点第二次,要不然会出错,得把网站删除,重新安装。第四步也一样,只点一次,第四步不用等很久,很快。
第五步,创建自己的管理员帐号和密码
然后下一步
没有意外
三、创建后台任务、任务调试和守护队列工作进程
创建后台任务
点击 1Panel 大菜单——计划任务,创建计划任务:
类型为 Shell 脚本
名称随意,比如 NP清理任务
周期是每分钟
勾选在容器中执行
选择创建网站使用的 PHP 容器
脚本内容如下(记得修改为自己的真实的容器内网站根目录):
su -c "php /www/sites/nexusphp/index/include/cleanup_cli.php" -s /bin/sh www-data
#创建任务调度
同后台任务,脚本内容如下:
su -c "cd /www/sites/1panel.nexusphp.org/index && php artisan schedule:run" -s /bin/sh www-data
DANGER
特别提醒:执行周期是每分钟,不能修改!这里的配置只是一个入口,实际运行频率是程序控制的,修改频率整个网站运行不正常!比如魔力不会如期增涨!
完成后,删除 public/install
目录。安装日志包含敏感数据,不要泄露。
#守护队列工作器进程
这里与手工安装或者宝塔均不同,无法使用 supervisor
。我们单独起一个容器,添加入口命令运行队列工作器,通过重启规则为一直重启达到进程守护的目的。
镜像必须与创建网站时使用的镜像一致,且网络要选择同一个。添加挂载本机目录,将网站根目录挂载到容器内,这里使用 /www。Command 添加以下内容:
php /www/artisan queue:work --no-interaction
TIP
对于 1.9 以上版本,使用 horizon 代替 queue:work
php /www/artisan horizon --no-interaction
重启规则勾选一直重启。
确定后创建容器,至此安装工作全部结束。以上步骤一共创建了5个容器:
#关于日志
NP 默认日志是写到 /tmp 目录下。容器内查看如果觉得不便,可以写到标准输出,编辑 .env 文件修改以下配置项:
LOG_FILE=php://stdout
如果习惯原始的写到文件的方式,编辑容器,将容器的 /tmp 目录映射到宿主机。
#关于更新
更新依赖于 rsync,进入容器执行以下安装之:
apk add rsync
之后就是跟其他安装方式一样的了。
评论区