我们大部分都是用宝塔或者aapanel来搭建v2board
今天我们试试用 LNMP环境来安装V2BOARD。
但是特别说明下。没有了aapanel面板,操作起来可能会不那么顺手。
所以新手绕过。
第一步 安装必要的软件
推荐环境debian10
sudo apt update && apt upgrade -y
sudo apt install -y curl vim wget unzip apt-transport-https lsb-release ca-certificates git gnupg2 redis
第二步 安装nginx
sudo apt update
sudo apt install -y nginx
第三步 安装PHP
添加软件源
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c ‘echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” > /etc/apt/sources.list.d/php.list’
安装php7.4
sudo apt update
sudo apt install -y php7.4-fpm php7.4-redis php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-xmlrpc php7.4-opcache php7.4-zip php7.4 php7.4-json php7.4-bz2 php7.4-bcmath
第四部 安装mysql
wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
sudo dpkg -i mysql-apt-config*
sudo apt install mysql-server
根据提示设置密码
截至到这里。我们都只是安装系统的基础环境
下面开始 下载v2board并进行安装。
sudo -i
mkdir -p /var/www/v2b
cd /var/www/v2b
git clone https://github.com/v2board/v2board.git ./
wget https://getcomposer.org/installer -O composer.phar
php composer.phar
php composer.phar install
chmod -R 755 ${PWD}
chown -R www-data:www-data ${PWD}
下载解压之后我们现在要开始对网站环境进行配置,确保程序正常运行。
配置nginx及ssl
安装acme.sh
wget -O – https://get.acme.sh | sh
source ~/.bashrc
创建目录并删除nginx默认文件
rm -rf /etc/nginx/sites-enabled/default
mkdir -p /var/www/letsencrypt
在/etc/nginx/sites-enabled/acme中填写以下内容并执行systemctl restart nginx
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location /.well-known/acme-challenge {
root /var/www/letsencrypt;
}
location / {
return 301 https://$host$request_uri;
}
}
将域名解析到vps并执行
example.com替换成你的域名
acme.sh –issue -d example.com -w /var/www/letsencrypt
mkdir -p /etc/nginx/ssl
acme.sh –install-cert -d example.com
–key-file /etc/nginx/ssl/example.com.key
–fullchain-file /etc/nginx/ssl/example.com.crt
–reloadcmd “service nginx force-reload”
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
在/etc/nginx/sites-enabled/sspanel.conf中填入以下内容,并执行systemctl restart nginx
#example.com替换成你的域名
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;root /var/www/sspanel/public;
index index.php index.html;
server_name example.com;ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ‘ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS’;
ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
add_header Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection “1; mode=block”;location /downloads {
}location / {
try_files $uri $uri/ /index.php$is_args$query_string;
}location ~ .*.(js|css)?$
{
expires 1h;
error_log off;
access_log /dev/null;
}location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
创建数据库并初始化
mysql -u root -p
mysql>CREATE DATABASE v2b;
php artisan v2board:install
配置定时任务
在corntab中添加以下内容
php /var/www/v2b/artisan schedule:run
配置守护进程
apt install supervisor
cat </etc/supervisor/conf.d/v2b
autorestart=True ; 程序异常退出后自动重启
autostart=True ; 在 supervisord 启动的时候也自动启动
redirect_stderr=True ; 把 stderr 重定向到 stdout,默认 false
command=php artisan queue:work –queue=send_email,send_telegram,stat_server ; 启动命令,与手动在命令行启动的命令是一样的
user=root ; 用哪个用户启动
directory=/var/www/v2b/ ; 程序的启动目录
stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 0 ; stdout 日志文件备份数
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile = /var/log/v2bdm.log
EOF
本站部分文章原创;部分文章来自互联网;如果我们转载的文章侵犯了您的权益,请联系我们,我们会尽快删除。
如果您喜欢这篇文章需要转载希望保留引用链接.感谢您的理解与支持!