想必我们很多运维网站的朋友有安装过Oneinstack、LNMP、LAMP等一键Web安装包,相比宝塔面板的不同之处是前者无面板,这样占用资源相对少一些,而且安全性会更好一些。但是由于前面几个无面板的Linux一键包不更新或者被出售掉后,目前还没有一个好的环境替换。这里,看到原Oneinstack作者重新开发的ByPanel环境包正式版上线。
前几天老蒋有测试过这个脚本,但是有出现一些逻辑的问题。于是和作者Yeho商量着修复一下。目前已经是当前稍微合适的方式修改后,我重新帮助测试确实可以运行正常的,但是还是有一些逻辑需要调整后续优化。这里我较为详细的记录ByPanel一键包的安装记录。
MacOS | RedHat | Alpine Linux | Debian | Ubuntu |
AlmaLinux | Fedora | Rocky Linux | openSUSE | Anolis |
OpencloudOS | TencentOS | Amazon Linux | EulerOS | openEuler |
Kylin | LinuxMint | Alibaba Linux | Elementary | Uos |
Deepin | KylinsecOS | Oracle Linux | Kali Linux | Arch Linux |
CentOS | ... |
我们看到支持的系统环境,我们正常安装系统后可以安装。建议不要安装太旧的版本,可以最新版本或者次新版本。
curl -sSL https://mirrors.linuxeye.com/bypanel/quick_install.sh | bash
执行命令安装。
这里我们仅仅是基础的配置,软件还没有安装。
bypanel configure
准备配置软件,记住这个命令,后面如果需要安装新的软件也还需要走一遍这个。
根据提示,我们可以设置安装流程是中文,默认是英文。有选择PHP模块,如果没有特殊的就默认。软件默认是Nginx、MYSQL、PHP83,当然如果我们需要安装的,也可以一起写到这里安装。在过程中我们可以看到填写数据库的版本,可以是Mariadb,和 MySQL数据库,根据自己需要设置版本,你不设置他就默认。
当然,最后还需要设置数据库的管理密码。我这里是故意没有安装phpmyadmin,我们如果有需要可以一次性安装需要的软件。
bypanel pull
这里我们用这个命令将设置的软件拉回来。
bypanel up -d
这里我们创建和启动软件。
启动之后,我们在浏览器中输入服务器IP,可以看到默认成功安装的界面。
这样算是成功安装的。
还记得我开始故意没有安装phpmyadmin数据库管理软件么?
如果我们正式需要的话可以一并安装,我故意没有安装是为了演示后续如果需要安装增加其他软件如何操作。
这里我们再走一遍 bypanel configure 、bypanel pull 、bypanel up -d。看上图,我们需要将之前安装的软件和新安装的软件填写进来,这个逻辑目前稍微有点问题,希望yeho改进一下,毕竟有些朋友后续忘记自己安装的什么软件,以及忘记版本,那这里填写错了就比较麻烦,最好是新安装的就填写新的。
这样我们环境就安装完毕,那就要开始搭建网站。
举个例子看看我是如何添加网站的。具体用的命令用下面的。
添加
bypanel vhost add
删除
bypanel vhost del
列表
bypanel vhost list
重载web服务
bypanel reload
日志
bypanel logs -f
显示日志, 如显示nginx实时日志:bypanel logs nginx -f, 其中`-f`参数: 打印日志输出
服务状态
bypanel status
查看容器状态, 或执行命令 bypctl ps 作用相同
停止、删除容器和网络
bypanel down
重启服务
bypanel restart
启动服务
bypanel start
停止服务
bypanel stop
执行命令
bypanel exec SERVICE COMMAND [ARGS...]
如:登陆nginx容器
bypanel exec nginx sh
升级命令
bypanel upgrade
版本显示
bypanel version
具体系统配置的各个参数可以参考这里。
/opt/bypanel/.env
我们可以看这个文件,也可以手动修改。
NEW_UID: 容器运行用户Id,网站根目录权限需为此用户Id,可通过chown -R 1000:1000 /data/webroot修改网站根目录权限
NEW_GID: 容器运行用户组Id
TIMEZONE: 容器时区
NGINX_SERVER: Nginx镜像版本
MYSQL_SERVER: MySQL镜像版本
PGSQL_SERVER: PostgreSQL镜像版本
REDIS_SERVER: Redis镜像版本
MEMCACHED_SERVER: Memcached镜像版本
MONGO_SERVER: MongoDB镜像版本
PMA_SERVER: phpMyAdmin镜像版本
PMA_ARBITRARY: phpMyAdmin参数,当设置为 1 时,将允许与任意服务器的连接
PMA_ABSOLUTE_URI: phpMyAdmin参数,phpMyAdmin的完整 URL。 有时在反向代理配置中使用时需要。
SFTPGO_SERVER: SFTPGo镜像版本
SFTPGO_WEB_PORT: SFTPGo web管理端口,创建第一个管理员和一个新的 SFTPGo 用户,注意安全组端口
SFTPGO_SFTPD_PORT: SFTP服务端口,注意安全组端口
SFTPGO_FTPD_PORT: FTP服务端口,注意安全组端口
SFTPGO_FTPD_PASSIVE_PORT_RANGE_START: FTP服务被动开始的端口,注意安全组端口
SFTPGO_FTPD_PASSIVE_PORT_RANGE_END: FTP服务被动结束的端口,注意安全组端口
PHP_MODULES_ENABLE: PHP启用模块
PHP_MODULES_DISABLE: PHP禁用模块
HOST_PORT_NGINX: Nginx端口
HOST_PORT_NGINX_SSL: Nginx SSL端口
HOST_PORT_OPENRESTY: OpenResty端口
HOST_PORT_OPENRESTY_SSL: OpenResty SSL端口
HOST_PORT_APACHE: Apache端口
HOST_PORT_APACHE_SSL: Apache SSL端口
MYSQL_ROOT_PASSWORD: MySQL数据库root密码
HOST_PORT_MYSQL: MySQL端口
PGSQL_ROOT_USER: PostgreSQL根用户
PGSQL_ROOT_PASSWORD: PostgreSQL根用户密码
PGSQL_HOST_AUTH_METHOD: 为了不使用 PostgreSQL 的密码,请将此值保留为"trust"
HOST_PORT_PGSQL: PostgreSQL端口
HOST_PORT_REDIS: Redis端口
REDIS_ARGS: Redis启动参数
HOST_PORT_MEMCACHED: Memcached端口
HOST_PORT_MONGO: MongoDB端口
对应的解释。
这样,我们如果有需要无面板的Linux web安装包,是不是又有新的可选了?我们也希望yeho后续持续的维护。相比之前的oneinstack确实优秀很多,安装效率提高不少。