2022年使用lnmp.org一键安装包部署web环境
服务器配置
本次演示所涉及系统和软件版本
- 系统: Debian 11
- CPU:双核
- Ram内存:4GB
- lnmp.org版本:V1.9 官方网站 https://lnmp.org/
- 环境软件: Linux+ Nginx + Mysql + PHP
- 教程编写时间:2022-12-16
注意事项:
- 安装MySQL 5.6或5.7及MariaDB 10必须1G以上内存,更高版本至少要2G内存!。
- 安装PHP 7及以上版本必须1G以上内存!。
- 服务器必须设置好可用的yum或apt-get源并确保能正常工作。
- 不要在非常新的Linux发行版上安装旧的PHP/MySQL版本,同理不要在旧的Linux发行版上安装非常新的PHP/MySQL版本。
安装步骤:
一、下载LNMP一键安装包
为了防止SSH超时断开、服务器卡住、网络掉线等故障,建议先安装 screen
1、使用SSH登入服务器
2、安装 screen (可选),命令如下
yum install screen
apt-get install screen
screen -S lnmp
3、下载并安装lnmp一键安装包
如需要安装LNMPA或LAMP,将./install.sh 后面的参数lnmp替换为lnmpa或lamp即可。
主镜像(自动分配节点)
wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz && tar zxf lnmp1.9.tar.gz && cd lnmp1.9 && ./install.sh lnmp
如果上述节点无法下载("Read error (Connection reset by peer) in headers.),请根据你的服务器位置选择节点
国内服务器
国外服务器
二、部署 Web 环境
运行上述LNMP安装命令后,会出现如下提示:
1、选择数据库版本
2、输入数据库root管理员密码
3、是否开启InnoDB引擎
InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n
4、选择 PHP 版本
5、是否安装内存优化
可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装
6、确认安装
提示"Press any key to install…or Press Ctrl+c to cancel"后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。
安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。
7、安装完成会见到如下内容
三、创建站点
如果需要Letsencrypt 免费SSL证书,需要提前把域名解析到服务器
网站目录放在 /home/wwwroot/ 下面
1、创建站点
lnmp vhost add
2、绑定域名
如果你想把www.example.com 和 example.com 绑在一起,那么就需要按照以下步骤
- 输入域名 www.example.com
- 是否绑定更多域名,是就输入 example.com ,否就不输入,直接回车键进入下一步
3、设置网站目录
因为安装完lnmp后,有一个目录是default(完整路径是 /home/wwwroot/default ),就是你打开ip地址看到的那个页面,如果你想把域名绑定到那个目录,则需要输入 /home/wwwroot/default ,否则就输入其他,或者直接回车,就会生成 www.example.com 这个目录(完整路径 /home/wwwroot/www.example.com )
- 绑定已有的目录,例如
/home/wwwroot/default
但是这个目录下面有php探针,phpmyadmin数据库等文件,如果安装 flarum 这类需要空目录的请注意不要选择此项
4、是否添加伪静态
默认提供了一些常见的程序所需的规则,输入对应名称即可,如果没有你的程序,可以输入一个名字,然后到时把相关规则粘贴到该伪静态文件里面。
输入n 则不创建,输入 y 则创建,可以选择以下几种方式:
选择已有的,输入对应的名称,例如 wordpress
选择自己增加的,输入一个名称,例如 flarum ,到时你把flarum用的伪静态内容,打开 /usr/local/nginx/conf/rewrite/flarum.conf 这个文件,编辑,把伪静态内容填上,保存。
选择默认的,直接回车键 ,就会有一个 /usr/local/nginx/conf/rewrite/other.conf
5、是否开启pathinfo
输入 n (除非你的程序需要使用pathinfo)
6、是否开启日志记录
输入 n (除非你有需要)
7、是否添加数据库和数据库用户
8、是否添加SSL证书
- 使用你自己的证书 (例如从阿里云、腾讯云、Cloudflare等地方购买的证书)
- 使用 Let’s Encrypt 免费证书 (有效期90天,自动续期)
- 使用 BuyPass 免费证书 (有效期180天,自动续期)
- 使用 ZeroSSL 免费证书 (有效期90天,自动续期)
如果使用你自己的证书,请把文件上传到 /usr/local/nginx/conf/ssl 下面
使用时,要输入完整路径和文件名
Please enter your email address,输入你的邮箱。
成功后,就会看到如下信息
四、把你的网站程序传到网站目录
网站目录下有一个防跨站脚本文件.user.ini,如果你想网站能运行,需要提前解锁,如果安装 flarum这里需要在空白目录的程序,需要把这个.user.ini文件删除
解锁 .user.ini
chattr -i /home/wwwroot/网站目录/.user.ini
加锁 .user.ini
chattr -i /home/wwwroot/网站目录/.user.ini
1、解锁.user.ini
2、把网站程序所有文件上传到网站目录
3、添加网站目录权限
给网站目录赋予www用户的执行权限
chown www:www -R /home/wwwroot/网站目录/*
4、把.user.ini 上锁(如果你用得上这个功能)
5、打开你的域名看看能不能运行了….
至此,部署网站的步骤已经完成,如果还有不明白或者添加/减少功能,请查阅 https://lnmp.org/
五、LNMP常用功能和设置
以下附上一些有关lnmp.org一键包常用的知识
1、LNMP状态管理命令:
- Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
例如重启 Nginx
/etc/init.d/nginx restart
- MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
如果使用mariaDB数据库,需要改成 /etc/init.d/mariadb
例如重启 Mysql 数据库
/etc/init.d/mysql restart
- PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
例如重启 PHP
/etc/init.d/php-fpm restart
- Redis状态管理: /etc/init.d/redis {start|stop|restart|kill}
2、LNMP相关软件安装目录
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
MariaDB 目录 : /usr/local/mariadb/
MariaDB数据库所在目录:/usr/local/mariadb/var/
PHP目录 : /usr/local/php/
多PHP版本目录 : /usr/local/php5.5/ 其他版本前面5.5的版本号换成其他即可
PHPMyAdmin目录 : /home/wwwroot/default/phpmyadmin/
3、LNMP相关配置文件位置
Nginx主配置(默认虚拟主机)文件:/usr/local/nginx/conf/nginx.conf
添加的网站配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
完