LNMP一键安装包-添加网站,SSL证书,日志管理,网站备份和安全问题

要是说到用VPS主机建站,目前一般流行两种方式:一是直接在VPS主机上安装虚拟主机面板,例如宝塔面板,另一种就是直接安装Nginx、Mysql、PHP等组件。两种方式各有各的优缺点,使用虚拟主机面板简单但是容易有安全问题和资源占用过大的问题。

直接手动配置LNMP环境,则难度比较大,不利用新手入门,后期在建站过程当中遇到问题不容易自己解决。LNMP一键安装包常用的就是Oneinstack和LNMP.org一键包了,不过去年Oneinstack和LNMP.org一键包被爆出安全问题(见后文),现在看来也不一定完全让人放心了。

然而,现在最大的问题就是目前暂时没有更好的选择了,只能说大家在使用的过程中多多注意安全问题。这篇文章就来分享一下LNMP一键安装包,最新版本的LNMP一键安装包v2.1正式版增加了对PHP 8.3和MySQL 8.4的支持,同时Nginx增加了http3的支持。

LNMP一键安装包建站教程-添加网站,SSL证书,日志管理,网站备份和安全问题

如果你对国内的建站程序没有兴趣,你可以试试国外的比较成熟的建站程序和面板,更多的一键建站脚本请查看专题:一键建站脚本工具专题

  1. 国内外流行的VPS主机和服务器控制面板-让VPS像虚拟主机一样轻松建站
  2. OpenLiteSpeed安装与使用-开源轻量高性能的建站面板-免费SSL,多PHP,LSCache
  3. Centmin Mod国外优秀的LNMP一键建站工具-优化ngx_pagespeed和WebP

一、LNMP一键包安装

网站:

  1. https://lnmp.org/

登陆VPS主机后运行:screen -S lnmp,如果提示screen: command not found 命令不存在可以执行:yum install screen apt-get install screen安装。

安装LNMP稳定版(说明:每年LNMP都会有一个新的大版本发布,请及时到官网获取最新的安装命令),LNMP2.1命令如下:

wget https://soft.lnmp.com/lnmp/lnmp2.1.tar.gz -O lnmp2.1.tar.gz && tar zxf lnmp2.1.tar.gz && cd lnmp2.1 && ./install.sh lnmp

如需要安装LNMPA或LAMP,将./install.sh 后面的参数lnmp替换为lnmpa或lamp即可。同时也支持单独安装Nginx或数据库,命令为 ./install.sh nginx./install.sh db

运行上述LNMP安装命令后,会出现如下提示:

LNMP一键安装包选择PHP版本

目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,需要注意的是MySQL 5.6,5.7及MariaDB 10如果是编译安装必须在1G以上内存的更高配置上才能选择!如仅需安装数据库在lnmp安装包目录下执行:./install.sh db

根据提示选择PHP版本。

LNMP一键安装包开始安装

提示”Press any key to install...or Press Ctrl+c to cancel“后,按回车键确认开始安装。LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

安装完成。如果显示Nginx: OK,MySQL: OK,PHP: OK,并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示安装使用的时间。

LNMP一键安装包安装成功

二、添加网站和SSL证书

执行:lnmp vhost add,这里要输入要添加网站的主域名,设置网站的目录,开启日志等。

LNMP一键安装包添加网站

在添加网站时可以选择是否开启SSL证书,有四个选项,第一个是使用自己的证书,第2、3、4选项都是免费SSL证书。

LNMP一键安装包添加SSL

如果遇到LNMP添加Letsencrypt等免费SSL证书失败的话,你可以先选择1选项,即使用自己的SSL证书,随便输入一个SSL证书路径,然后自己安装acme.sh,替换你刚刚设置的SSL路径即可:acme.sh支持免费SSL证书整理汇总-acme.sh安装和手动切换SSL CA方法

三、LNMP日志管理

LNMP一键安装包的日志默认是切割的,也就是说日志文件会越来越大,这个非常占用资源。LNMP1.2/1.3+版本安装包目录下有一个tools目录,放有常用的备份脚本 backup.sh,nginx日志切割脚本 cut_nginx_logs.sh。

打开cut_nginx_logs.sh,修改以下参数:

#设置nginx日志文件目录路径
log_files_path="/home/wwwlogs/"
#日志文件将会存放到/home/wwwlogs/年/月/日志文件名_年月日.log
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#设置要切割的日志的名字,如果日志目录下面的日志文件名为vpser.net.log,则填写vpser.net,每个日志名用空格分隔
log_files_name=(access vpser.net licess)
#设置nginx文件的位置
nginx_sbin="/usr/local/nginx/sbin/nginx"
#设置日志保存的时间,天
save_days=30

然后给脚本添加执行权限。

chmod +x cut_nginx_logs.sh

先自己手动执行一下命令:/root/lnmp2.1/tools/cut_nginx_logs.sh,如果运行一切正常的话,现在可以添加一个定时任务了。执行:crontab -e

添加以下命令保存,每天0点整开始切割脚本。

00 00 * * * /bin/bash /root/lnmp2.1/tools/cut_nginx_logs.sh

关于crontab定时任务设置,请参考:Linux Crontab命令定时任务基本语法与操作教程

四、LNMP网站备份

LNMP一键安装包tools目录下有备份脚本 backup.sh,以下是需要自己修改的:

Backup_Home="/home/backup/" #####备份文件存放目录
MySQL_Dump="/usr/local/mysql/bin/mysqldump" ####mysqldump路径,如果是mariadb替换/usr/local/mysql为/usr/local/mariadb
######~Set Directory you want to backup~######
Backup_Dir=("/home/wwwroot/vpser.net" "/home/wwwroot/lnmp.org") ##########要备份的目录,目录用双引号括起来,多个目录空格隔开,如前面的例子

######~Set MySQL Database you want to backup~######
Backup_Database=("lnmp" "vpser") ########要备份的数据库,前面有例子

######~Set MySQL UserName and password~######
MYSQL_UserName='root' ####不用说了,MySQL root账号
MYSQL_PassWord='yourrootpassword' ##### MySQL root密码

######~Enable Ftp Backup~######
Enable_FTP=0 #####是否启用ftp备份,0 启用,非0 不启用
# 0: enable; 1: disable
######~Set FTP Information~###### ftp账号信息
FTP_Host='1.2.3.4'
FTP_Username='vpser.net'
FTP_Password='yourftppassword'
FTP_Dir="backup" #########ftp服务器上存放备份的目录

#Values Setting END!

默认备份文件保存3天,可以修改backup.sh里的-3day为你指定的天数。

保存后,先添加执行权限:chmod +x /root/lnmp2.1/tools/backup.sh,然后再自己手动运行一下看看有没有错误: /root/lnmp2.1/tools/backup.sh

没有问题的话,直接添加定时任务:crontab -e,设置为每天0点开始备份。

00 00 * * * /bin/bash /root/lnmp2.1/tools/backup.sh

LNMP一键安装包的备份脚本仅支持FTP远程备份,目前像腾讯云COS、阿里云OSS等都不支持FTP,如果你想要将文件存放在FTP云存储服务,目前可以试试又拍云:又拍云FTP

当然,你也可以搭配Rsync、Rclone等VPS主机同步工具,快速将备份的文件同步到其他的网盘或者服务器里:

  1. 三个命令工具Rsync,SCP,Tar-快速解决VPS远程网站搬家与数据同步
  2. 一个命令让Linux定时打包备份指定目录文件夹并同步备份到各大网盘

五、LNMP安全问题

2023年,Oneinstack和LNMP.org一键包被爆出安全问题,相关的讨论见:

  1. https://github.com/oneinstack/oneinstack/issues/511
  2. https://github.com/oneinstack/oneinstack/issues/487
  3. https://www.v2ex.com/t/979226

相关的网页截图见:https://do.wzfou.net/wzfou/lnmp/oneinstackma.png

LNMP一键安装包安全问题

文章出自:挖站否 https://wzfou.com/lnmp21/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。


分享到:
Avatar for Qi
关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。
已有 3 条评论
  1. Avatar for gbd gbd

    不敢用了,但是又没得选,谁告诉我哪个还有安全的

    4分钟前 回复
  2. Avatar for joyo joyo

    好久不用面板了,起初用docker,现在都是k3s了

    9月10日 20:34 回复
  3. 去年收购时有一次供应链藏木马,今年好像5月份左右的时候又有一次。最好的选择就是用 llm 辅助去手动用包管理构建环境,如果有这个一对一答疑的老师都不愿意学还是趁早放弃比较好。

    9月8日 00:51 回复

Login

Welcome! Login in to your account

Remember meLost your password?

Don't have account. Register

Lost Password

Register