#首发#通过[LNMP一键脚本]安装Web环境,并手动部署V2board面板最新图文教程

网络教程2
IPRoyal

最近关于“宝塔事件”这件事引起圈内人士风声鹤唳,导致很多人放弃宝塔面板而转向其它国外面板,面板虽多但是总有些瑕疵,并且以后说不定又有什么BUG问题等等,索性不如一劳永逸的学一学如何手动搭建Web环境,虽然稍微复杂些不过可以进一步熟悉Linux操作系统知识啊。

前言:我们这里主要讲常用的LNMP环境,也就是Linux、Nginx、MySQL、PHP,网上也有很多一键部署的LNMP脚本,我这里用的是https://lnmp.org/的一键安装包作为教程演示,基于Linux系统的Centos7发行版,服务器内存建议1G内存以上,同时域名提前解析好到服务器IP上面。文章源自Get主机优惠信息-https://getzhuji.com/5747.html

本篇文章适合对Linux命令有一定基础认识的用户使用,需要可视化操作的建议参考:通过宝塔面板搭建V2board完整运营教程—前端面板篇文章源自Get主机优惠信息-https://getzhuji.com/5747.html

安装LNMP环境

0、通过SSH工具连接上服务器并切换为root用户或权限,更新系统内核和软件源,安装开发者工具包文章源自Get主机优惠信息-https://getzhuji.com/5747.html

yum update -y && yum -y groupinstall "Development Tools"
yum install wget -y
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

1、然后运行下列LNMP一键安装包命令:文章源自Get主机优惠信息-https://getzhuji.com/5747.html

wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp

2、回车后进入选择版本安装界面,选择安装:MySQL 5.6,PHP7.3,输入对应的序列号安装即可,(第一步安装MySQL会要求输入root密码,不输入会默认设置为lnmp.org#随机数字),其余提示回车默认即可;文章源自Get主机优惠信息-https://getzhuji.com/5747.html

3、提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装,安装时间视服务器配置网速决定,一般几十分钟至几小时;如果显示Nginx: OK,MySQL: OK,PHP: OK,就表示安装成功了(某些系统可能会一直卡在Install lnmp V1.7 completed! enjoy it.不自动退出,可以按Ctrl+c退出。)文章源自Get主机优惠信息-https://getzhuji.com/5747.html

安装Redis和配置PHP

1、Web环境安装好后,还需要安装redis和redis扩展,我们先安装redis,执行下列命令:文章源自Get主机优惠信息-https://getzhuji.com/5747.html

##下载并升级GCC编译环境
yum -y install gcc gcc-c++ kernel-devel
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

##下载redis并编译安装
wget http://download.redis.io/releases/redis-6.0.8.tar.gz
tar xzf redis-6.0.8.tar.gz
cd redis-6.0.8
make PREFIX=/usr/local/redis install

2、把源码包目录中的 redis.conf 拷贝到 redis 安装目录下,并编辑配置文件:文章源自Get主机优惠信息-https://getzhuji.com/5747.html

cp redis.conf /usr/local/redis/
vi /usr/local/redis/redis.conf

找到参数daemonize no,修改为daemonize yes,然后保存退出文章源自Get主机优惠信息-https://getzhuji.com/5747.html

3、进入到bin文件,指定 redis.conf 文件启动Redis(注意每次重启服务器后Redis也需要启动下,不然导致500错误,同时也可以把Redis设置为开机启动)文章源自Get主机优惠信息-https://getzhuji.com/5747.html

cd /usr/local/redis/bin
./redis-server ../redis.conf

4、安装PHP的redis扩展,在https://pecl.php.net/package/redis可以找到各版本下载安装;文章源自Get主机优惠信息-https://getzhuji.com/5747.html

##下载解压redis安装包
cd /usr/local/src 
wget https://pecl.php.net/get/redis-5.3.2.tgz 
tar -xzvf redis-5.3.2.tgz 
cd redis-5.3.2
phpize
## 进行编译安装
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

5、安装完成后修改PHP.INI文件,添加以下参数:文章源自Get主机优惠信息-https://getzhuji.com/5747.html

vi /usr/local/php/etc/php.ini
查找;extension= 添加一行:extension=redis.so

6、修改保存后,需要重新加载php-fpm,输入下列命令:文章源自Get主机优惠信息-https://getzhuji.com/5747.html

lnmp php-fpm reload  ##重新加载
php -m  ##查看是否成功安装redis

7、删除PHP的禁用函数:putenv , proc_open , pcntl_alarm , pcntl_signalproc_get_status,没有就不用管了,打开php.ini找到disable_functions =,把有的都删掉;文章源自Get主机优惠信息-https://getzhuji.com/5747.html

vi /usr/local/php/etc/php.ini
lnmp php-fpm reload ##重新加载

创建面板网站

1、创建虚拟主机,相当于创建一个网站,输入下列命令进行创建管理:文章源自Get主机优惠信息-https://getzhuji.com/5747.html

lnmp vhost add  ##新建网站
lnmp vhost del  ##删除网站
lnmp vhost list ##列出所有网站

2、接着设置网站的各种参数,具体看图片的注释文字:文章源自Get主机优惠信息-https://getzhuji.com/5747.html

6、选择启用证书后,选项1是代表使用自己准备的证书,选项2是使用免费的SSL证书提供商Letsencrypt提供的证书,这里为了节省时间和方便就选择2使用免费的SSL证书,然后回车确认;文章源自Get主机优惠信息-https://getzhuji.com/5747.html

安装V2board程序

1、在命令行进入到前面添加的站点根目录,然后通过git拉取v2board源文件及进行包安装,如安装过程中报错请检查函数禁用及swap分配,包安装过程需要5-20分钟,请 耐心等待;文章源自Get主机优惠信息-https://getzhuji.com/5747.html

cd /home/wwwroot/网站目录
git clone https://github.com/v2board/v2board.git
cd v2board
wget https://getcomposer.org/download/1.9.0/composer.phar
php composer.phar install

2、安装v2board,根据提示输入数据库IP地址、数据库名、用户名和密码,及后面需要访问网站后台默认的管理员账户密码:文章源自Get主机优惠信息-https://getzhuji.com/5747.html

php artisan v2board:install

3、避免后面打开网站出现500错误提示,给目录重新赋予权限,站点根目录执行下列命令,如执行后还显示500错误,可进一步尝试重启web环境和检查redis是否运行:文章源自Get主机优惠信息-https://getzhuji.com/5747.html

chown -R www:www *

4、后期v2board面板升级更新,命令行在站点根目录执行下列命令(首次安装默认最新版本,不需要再操作这步),git安装方式拉取文件会默认新建个v2board文件夹,如果没有把文件夹的内容剪切出来,那么默认的站点根目录通常为:/home/wwwroot/站点目录/v2board

sh update.sh

5、移除跨目录访问和配置网站目录地址,编辑网站配置文件:

cd /root/lnmp1.7/tools
./remove_open_basedir_restriction.sh ##移除防跨目录访问

vi /usr/local/nginx/conf/vhost/网站域名.conf

找到 /home/wwwroot/站点目录 修改为 /home/wwwroot/站点目录/v2board/public 并保存退出

6、配置伪静态规则,命令行输入:vi /usr/local/nginx/rewrite/other.conf,添加如下内容并保存退出;

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;
}

7、重启下web环境,然后就能正常访问网站了,如果出现404或者500错误,那就是上述步骤操作有误;

lnmp restart

配置计划任务和队列服务

1、在完成上面的步骤后已经能正常访问网站,但是由于v2board的邮件系统和支付订单确认强依赖队列,所以还需要设置队列服务,这里我们采用Crontab计划任务和PM2守护,命令行执行:

crontab -e
##打开在后面编辑添加下面一行,代表每隔1分钟执行一次任务
*/1 * * * * php /home/wwwroot/站点文件名/v2board/artisan schedule:run

2、使用pm2需要先安装nodejs,执行下列命令安装;

wget https://nodejs.org/dist/v9.9.0/node-v9.9.0.tar.xz
tar xvf node-v9.9.0.tar.xz
mv node-v9.9.0 nodejs
ln -s /download/nodejs/bin/npm /usr/local/bin/
ln -s /download/nodejs/bin/node /usr/local/bin/
node -v  ##检查安装是否成功,成功会显示安装的版本号
npm -v   ##检查安装是否成功,成功会显示安装的版本号

3、通过npm全局安装pm2:

npm install pm2 -g  ##全局安装PM2
pm2 -v  ##检查安装是否成功,成功会显示安装的版本号

3、回到站点目录下,使用PM2执行守护进程:

cd /home/wwwroot/站点文件名/v2board
pm2 start "pm2.yaml" --name v2board

到此手动部署v2board面板已经完成,可能有的用户之前在宝塔面板已经搭建好并推广了不少用户,需要迁移到这边,那么只需要备份好数据库,并进入到新的数据库导入即可,当然最方便的是使用其它数据库,在前面安装v2board时修改下默认地址即可。

联系博主:@nbsxk(TG电报) 杂货铺曙光商店 机场推荐NaiTu云 (高速专线节点)
  • 【声明】:本站资料均来源于网络,仅供大家参考和学习,请勿违法使用!如无意侵犯到您的权利,请及时与我们联系!
  • Linux系统安装PM2教程
  • PM2队列设置教程
  • v2board安装500错误
  • v2board怎么设置PM2
  • v2board设置队列
  • v2board面板安装教程
  • 手动部署v2board面板
  • 搭建v2board教程
评论  2  访客  2
    • hola
      hola 1

      redis 能使用lnmp自带的或apt装的吗

        • hola
          hola 1

          @ hola 没事了,测试发现可以 :lol:

      匿名

      发表评论

      匿名网友

      :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

      确定