# lnmp官网
[https://lnmp.org/install.html](https://lnmp.org/install.html)
演示系统用的是
![](https://img.kancloud.cn/fe/d3/fed3f5a16500f68efdfba4dfd1bca115_185x78.png)
## 第一步:
登陆后运行:**screen -S lnmp**
![](https://img.kancloud.cn/ea/74/ea7496ce6b5e6e294348a3ab31433427_394x102.png)
如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装
![](https://img.kancloud.cn/7c/ac/7cac4231f2571251152567f67d5d066e_1882x722.png)
然后安装完成了,输入**screen -S lnmp**
![](https://img.kancloud.cn/65/bd/65bd7610408dd7a6a8af7d206001d1e3_310x54.png)
这一步就搞定了
## 第二步:
一键安装命令是:
**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**
但是:注意了
lnmp提供更改 数据库和网站安装目录,如需更改网站和数据库目录、需在运行./install.sh 命令前修改安装包目录下的 lnmp.conf 文件。
(1)你不需要更改目录,跳过这个操作,如果你需要更改安装的目录则:
运行一下这个命令:
**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。
① 要去编辑lnmp.conf 文件:
![](https://img.kancloud.cn/e7/de/e7deaa1d3582f91c001141c05ec20795_622x276.png)
② 输入,vim lnmp.conf
,编辑你要更改的目录,比例这个是放在/mnt/sdc下面的
![](https://img.kancloud.cn/a8/3e/a83e4afd8859034cc2a45ab9be63ca10_545x432.png)
![](https://img.kancloud.cn/d7/a5/d7a59840f7d026f433bc31104a8f70bb_729x430.png)
更改后保存 文件
③ 执行 **./install.sh lnmp** 命令安装
(2)一般不要求直接默认安装,则直接运行一键安装命令就行了,
一键安装命令是:
**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**
## 第三步:
![](https://img.kancloud.cn/75/03/7503caa11e64ffa4d659ec79bf7574d9_590x330.png)
输入对应MySQL或MariaDB版本前面的序号,**我这里是输入3**,回车进入下一步. 就是输入密码
![](https://img.kancloud.cn/81/10/8110dc10026d76aebbda73bb3bfc6f45_570x408.png)
设置MySQL的root密码(为了安全不输入直接回车将会设置为lnmp.org#随机数字)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步,如下图所示:
![](https://img.kancloud.cn/33/23/33230ea3145be3294c6e573849d7920c_576x448.png)
## 第四步:
![](https://img.kancloud.cn/18/17/1817e07f709aab3d7ee26a5bc23ad84b_441x65.png)
询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,(MySQL 5.7+版本无法关闭InnoDB),输入完成,回车进入下一步。**我们这里是输入y**
## 第五步:
![](https://img.kancloud.cn/dc/30/dc30752c06546063af807a689770736b_493x314.png)
注意:选择PHP 7+版本时需要自行确认PHP版本是否与自己的程序兼容。**我们这里是输入6 选择7.0**
## 第六步:
![](https://img.kancloud.cn/01/b8/01b8d73d50c60cf9d1e9e7ad508af7aa_408x112.png)
选择是否安装内存优化:
可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。
**我们这里是直接回车为默认为不安装**
## 第七步:
![](https://img.kancloud.cn/11/de/11decf47c62dbf7216fd9f604c3a4432_530x180.png)
提示"Press any key to install...or Press Ctrl+c to cancel"后,**按回车键确认开始安装**。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。
安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。
## 第八步:
![](https://img.kancloud.cn/56/7a/567aa0bc7b6e880f07fd861d26088d3f_923x795.png)
并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示安装使用的时间及Install lnmp V1.6 completed! enjoy it.的话,说明已经安装成功
可以按Ctrl+c退出。
## 第九步:
然后查看对接安装的目录
默认的是/home/wwwroot/
更改的在你更改的目录下
这时候还没有绑定域名,你可以直接用ip访问,将看到如下页面:
![](https://img.kancloud.cn/d3/c7/d3c71205db5e2c1f53401227aafdecb0_1598x689.png)
到这一步,环境已经搭建好了。
## 第十步:
### 处理数据库配置
![](https://img.kancloud.cn/40/51/40517b53993aaa7a29ad5da34c94ac7e_665x429.png)
这样发现远程连接数据库还是有问题,因为防火墙3306端口限制
这里禁止用root登录操作,所以我们先到phpmyadmin web登录root 创建账号,
![](https://img.kancloud.cn/d7/56/d75643b9100522f0c945b9381dfdadec_1517x720.png)
![](https://img.kancloud.cn/49/30/49306f670d9088b04678d0dbec78dcd4_819x408.png)
![](https://img.kancloud.cn/35/bb/35bb381663e84e331a3026462a4097d1_1675x828.png)
账号创建好了,接着处理端口问题
先开启远程连接数据库,后面不需要远程再关端口
先打开防火墙
vim /etc/sysconfig/iptables
![](https://img.kancloud.cn/48/65/4865f9a8fe6f21c3fc64525e96472c02_605x364.png)
看到
~~~
A INPUT -p tcp -m tcp --dport 3306 -j DROP
~~~
然后吧 DROP 换成 ACCEPT
~~~
A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
~~~
![](https://img.kancloud.cn/fc/d3/fcd30b818df158a2ac753290c19ff20c_488x232.png)
然后重启防火墙:
~~~
service iptables restart
~~~
![](https://img.kancloud.cn/05/a5/05a5e0e794f870f3eeaf18b3181cdbad_426x64.png)
阿里云也要配置端口
![](https://img.kancloud.cn/0b/ba/0bba84b90f452b8ed0f793f5581ba2eb_1595x211.png)
这就可以连接远程访问了
![](https://img.kancloud.cn/cf/4a/cf4a21cb5e115a54591bb0a7c8d9eeac_501x433.png)
然后把需要的表导进去
# 到这里你以为就完事了吗?还要开启mysql binglog 日志,开启慢查询
## ①开启mysql binglog 日志
查看是否开启mysqlbinglog
~~~
show VARIABLES like '%log_bin%'
~~~
![](https://img.kancloud.cn/5d/54/5d54fc008f0b861918372a1cf15062d6_519x244.png)
以上是开启了的,如果不开启这是OFF
lnmp 发现默认开启了,cat /etc/my.cnf
![](https://img.kancloud.cn/66/a6/66a64127ef4950c1ecf1708ab4d5c3a3_440x322.png)
查看mysqlbinglog日志
~~~
mysqlbinlog --no-defaults --database=数据库名称 --start-datetime="2018-11-10 23:29:00" --base64-output=DECODE-ROWS --stop-datetime="2018-11-10 23:30:50" mysql-bin.000012 > /mysql.txt
~~~
~~~
查询 tp_users 写入到znwg.sql文件
/usr/local/mysql/bin/mysqlbinlog --no-defaults --database="znwg_live" --base64-output=decode-rows -v --start-datetime="2020-05-14 15:30:00" --stop-datetime="2020-05-14 18:40:00" ./mysql-bin.000028 | grep tp_users > znwg.sql
写入到znwg.sql文件
/usr/local/mysql/bin/mysqlbinlog --no-defaults --database="znwg_live" --base64-output=decode-rows -v --start-datetime="2020-05-14 15:30:00" --stop-datetime="2020-05-14 18:40:00" ./mysql-bin.000028 > znwg.sql
直接打印输出
/usr/local/mysql/bin/mysqlbinlog --no-defaults --database="znwg_live" --base64-output=decode-rows -v --start-datetime="2020-05-14 15:30:00" --stop-datetime="2020-05-14 18:40:00" ./mysql-bin.000028
~~~
~~~
备注:
--start-datetime (开始时间)
--base64-output=DECODE-ROWS (以防乱码)
--stop-datetime (结束的时间)
~~~
~~~
查看mysqlbinglog日志
mysqlbinlog -d 数据库名称 --base64-output=DECODE-ROWS -v mysql-bin.000046
根据时间来查看:
--start-datetime="2019-2-23 23:59:59"
--stop-datetime="2019-2-25 16:50:59"
说明:
--base64-output=DECODE-ROWS (解码导出,导出后可直接查看)
在MySQL5.5以下版本使用mysqlbinlog命令时如果报错,就加上 “--no-defaults”选项
~~~
## ①开启mysql 慢日志查询
![](https://img.kancloud.cn/61/6f/616fd195e085dd5a5a7b4e72154df9ec_598x377.png)
~~~
在数据库里面运行,查询是否开启
show variables like '%quer%';
看到尾off 代表没有开启
在/etc/my.cnf
加入以下图片
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /home/mysql/mysql-slow.log
~~~
![](https://img.kancloud.cn/6d/bb/6dbbdf50a08d6e3eb0dd380fab05d26f_547x219.png)
~~~
重启数据库
/etc/init.d/mysql restart
查询是否开启成功
show variables like '%quer%';
~~~
![](https://img.kancloud.cn/11/0d/110dd3d8b79691a3fcdc5c8888bd9195_607x392.png)
~~~
on 代表已经开启了,然后在数据库里面运行语句 超过1秒,
SELECT SLEEP(3)
~~~
![](https://img.kancloud.cn/b3/bb/b3bb7224d140afd15220f1b831c20f2b_693x170.png)
~~~
如上可看到已经记录了,慢查询
~~~
## 第十一步:
### 配置上传代码 ,配置nginx 访问
有空再更新
- PHP书写规则
- 代码缩进
- 大括号{ }书写规则
- 变量赋值对齐
- if条件判断规范
- 避免嵌入式赋值
- 函数和方法的注释
- 项目规范
- 业务逻辑logic
- model模型
- 控制器
- view视图
- 定制项目开发
- 接口输出变量格式
- mysql设计规范
- 二维码系列
- php 用phprqcode 生成简单的二维码
- 小程序二维码
- 其他小工具
- 获取单个汉字拼音首字母
- js 调起打印多出一张空白的问题?
- php 2张图片合拼
- 判断一个汉字可以等于1个字符,2个字符,3个字符
- 微信小程序获取页面路径
- 小程序js、canvas实现矩形圆角、圆形头像图片
- php phpMailer 发送邮件(亲测有效)
- 系统配置表
- php 用tcpdf 生成pdf
- PHP mkdir():创建目录
- php 通过svg动态生成生成后缀图标
- php 本地安装SSL证书
- php 生成首字母头像
- php 接口数据压缩返回,减少带宽
- PHP向二维数组多维数组追加相同元素
- php 指定时间戳上加上一天,一个月,一年的方法
- Spreadsheet 表格生成
- php 多维数组排序 多维数组按照某个字段排序
- php根据开始和结束时间获取期间日期
- php 获取本周、上周、本月、上月及指定时间所在周、月的起止时间
- php GeoIP2通过ip获取国家和地区城市
- 奇葩报错问题
- session赋值报错
- 服务器配置lnmp
- 开启mysql binglog 日志
- lnmp 开启远程访问3306
- 开启mysql 慢日志查询
- 开通Liunx 3306 端口(远程连接开放)
- 搭建lnmp
- liunx 多台服务器搭建共享文件夹图片文件夹
- liunx 操作命令1
- nginx专区
- 禁止外部ip访问
- 强制跳转到https
- mysql专区
- 版本5.7报错 only_full_group_by
- 把同一张表的一个字段的内容复制到另一个字段里
- lnmp关闭严格模式
- mysql 两张不同结构的表连表查询,合并,并分页,排序 教你如何实现UNION
- mysql 查询一张表中某个字段不同状态的数量统计
- mysql数据库快速插入百万条级别的测试数据
- MySQL EXPLAIN 详解,可用EXPLAIN来分析优化数据库sql语句
- mysql 三星索引
- mysql 返回数据排名查询获取排名的方法,亲测有效
- mysql使用查询出来的值并且更新update新的表报错?叫你一招
- mysql 怎样自定义in查询操作排序
- mysql 百万级别和千万级数据分页查询性能优化
- mysql 查询某个字段按照逗号分割返回
- mysql 用sql命令导入数据库
- mysql 根据某个字段的值匹配替换某个值
- Mysql中分组后取最新的一条数据排序
- Certbot-免费的https证书
- session_start()报错问题
- 文件大打不开?代码实现分割
- windows服务器专区
- apache 突然重启动不了
- windows 定时任务
- liunx专区
- liunx 定时器检查php是否能访问,重启
- liunx 操作命令
- 定时器 tp5 命令行
- liunx查看端口是否开放
- liunx上传或者下载本地文件
- 前端
- jq克隆html
- Jquery添加元素(append,prepend,after,before四种方法区别对比)
- 小程序switch样式修改
- css div 里面模块 平均展开
- 安全小学堂
- 验证码一次一码
- 实战thinkphp6
- 前言
- 中间件
- 开启多语言
- RabbitMQ 专区
- 下载RabbitMQ
- ftp专区
- Linux安装vsftpd及配置详解
- 小程序栏目
- 微信小程序封装统一接口请求api数据
- 云数据库
- 小程序云开发更新云函数数组的某一项,并且某个是变量代替
- php面试总结
- Mysql面试
- PHP面试知识
- Thinkphp框架小知识
- fastadmin 文档
- fastadmin js 渲染 动态下拉(SelectPage)组件
- fastadmin 列表搜索栏 支持三级联动 地区选项
- fastadmin searchList组件自定义数据返回
- 开发工具
- phpstorm 一直在Indexing,一直加载索引,无法正常使用
- PHP专区
- session 工作流程
- Redis
- php redis 基本操作
- SourceTree 3.3.9跳过注册安装
- composer 专区
- 手把手教你写一个composer包
- freessl证书申请