通过OneinStack快速部署

使用OneinStack 搭建环境,并使用简易化脚本快速部署本项目

本教程需要面板程序版本>2.7.0方可使用! 请使用root账户进行操作!

一丶搭建环境

环境部署

apt update && apt install wget curl git vim -y

部署OneinStack & 网页环境

如果害怕遇到网络中断,SSH断连等问题,可以自行谷歌nohup/screen的用法

前往 OneinStack官网 选择合适的软件,再复制安装命令到SSH上执行

  • 环境安装要求,请参考 => 面板要求

  • Tips: 软件版本在面板支持的情况下,尽可能挑选最新稳定版本用于生产环境;

  • MySQL 数据库可以不安装在和面板同一机器上,可以选择云服务商的数据库进行托管或者在其他服务器安装进行分离使用;

可参考选项
# 本案例的数据库密码:ProxyPanel2023

wget -c http://mirrors.oneinstack.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --php_option 12 --phpcache_option 1 --php_extensions fileinfo,redis --phpmyadmin  --db_option 2 --dbinstallmethod 1 --dbrootpwd ProxyPanel2023 --redis  --reboot 
搭建完成

二丶网站搭建

SSH连接到VPS后输入下方命令,开始创建网站。

/root/oneinstack/vhost.sh
  1. 三个选项分别是 1. 只使用HTTP, 2. 使用自己的证书,以及 3. 申请Let's Encrypt免费证书

  2. 输入网站域名

  3. 输入网站目录,直接回车网站目录默认位于/data/wwwroot/网站域名

  4. 是否需要添加更多域名

  5. 是否需要HTTP重定向到HTTPS

  6. 输入证书钥匙长度,默认2048

  7. 输入邮箱申请证书

自动申请完证书后,还有几步

  1. 是否需要盗链保护;

  2. 是否需要添加伪静态规则; 选择 laravel

  3. 添加哪种伪静态规则;

  4. 是否允许记录访问日志;

PHP 删除禁用函数

sed -i '/disable_functions/s/putenv,//g; /disable_functions/s/pcntl_alarm,//g; /disable_functions/s/pcntl_signal,//g; /disable_functions/s/symlink,//g; /disable_functions/s/proc_[^,]*,//g' /usr/local/php/etc/php.ini && service php-fpm restart

修改网站运行目录

# 编辑 网站Nginx的配置文件
# 使用前请将{网站域名}替换为实际目录,不知道的可以 ls /usr/local/nginx/conf/vhost/ 看看目录下的文件都有啥

sudo sed -i 's/\(root .*\);/\1\/public;/g' /usr/local/nginx/conf/vhost/网站域名.conf && systemctl restart nginx
编辑网站Nignx配置文件

三丶创建数据库

登录数据库

首先使用以下命令登录mysql,并输入数据库密码

mysql -u root -p

创建数据库

# 创建了名为ProxyPanel的数据库
create database ProxyPanel default character set utf8mb4 collate utf8mb4_unicode_ci;

# 查看数据库列表
show databases;

创建数据库用户(可选)

如果想偷懒,可跳过创建数据库用户,直接使用root用户

创建数据库用户

# 授予ProxyPanelUser用户在ProxyPanel数据库上的所有权限,密码为ProxyPanelPwd
grant  all  privileges  on  ProxyPanel.*  to  ProxyPanelUser@'localhost' identified by 'ProxyPanelPwd';

最小权限原则,所以我们推荐方法1。其中的数据库名,用户名,密码请酌情修改。

# 完成后,刷新权限
flush privileges;
// 退出数据库
quit

四丶安装面板

cd /data/wwwroot/网站域名
# 例:cd /data/wwwroot/proxypanel.ddo.jp 不清楚可以用 ls /data/wwwroot/ 获取目录信息

git clone https://github.com/ProxyPanel/ProxyPanel.git tmp && cp -r tmp/. . && rm -rf tmp/

再运行以下代码安装面板

sh install.sh

五丶设置&优化

每次修改 .env 后,请运行以下代码,重新预加载必要文件 SSH:在网站根目录下,运行以下代码;Laravel 自带缓存常用内容来优化面板运行。

php artisan optimize

在面板文件中,编辑 .env

设置邮件

MAIL_DRIVER=smtp #或使用 mailgun
# SMTP设置
MAIL_HOST=smtp.exmail.qq.com
MAIL_PORT=465 #SMTP端口
MAIL_USERNAME=admin@proxypanel.ml #使用的邮箱地址
MAIL_PASSWORD=password #SMTP授权码
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=admin@proxypanel.ml #用户看到的发件人邮箱地址
MAIL_FROM_NAME=ProxyPanel #发件人名称

# Mailgun设置
MAILGUN_DOMAIN=
MAILGUN_SECRET=

PHP

# 编辑php.ini文件
nano /usr/local/php/etc/php.ini

将 memory_limit 适当的提高, 有助于提高网站运行稳定性

# 编辑完成,重启nginx
service php-fpm restart

系统

添加SWAP虚拟内存

VPS服务器内存过小,会导致进程被杀掉;适当添加Swap虚拟内存了,可缓解这个现象。

# 查看实际内存
free -h
# 一键添加SWAP脚本
wget https://www.moerats.com/usr/shell/swap.sh && bash swap.sh

六丶更新&升级

Master版

参考 升级指南

Release版

下载最新的压缩包,重新安装

最后更新于

这有帮助吗?