# lnmp官網
[https://lnmp.org/install.html](https://lnmp.org/install.html)
演示系統用的是

## 第一步:
登陸后運行:**screen -S lnmp**

如果提示screen: command not found 命令不存在可以執行:yum install screen 或 apt-get install screen安裝

然后安裝完成了,輸入**screen -S lnmp**

這一步就搞定了
## 第二步:
一鍵安裝命令是:
**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 文件:

② 輸入,vim lnmp.conf
,編輯你要更改的目錄,比例這個是放在/mnt/sdc下面的


更改后保存 文件
③ 執行 **./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**
## 第三步:

輸入對應MySQL或MariaDB版本前面的序號,**我這里是輸入3**,回車進入下一步. 就是輸入密碼

設置MySQL的root密碼(為了安全不輸入直接回車將會設置為lnmp.org#隨機數字)如果輸入有錯誤需要刪除時,可以按住Ctrl再按Backspace鍵進行刪除(個別情況下是只需要Backspace鍵)。輸入后回車進入下一步,如下圖所示:

## 第四步:

詢問是否需要啟用MySQL InnoDB,InnoDB引擎默認為開啟,一般建議開啟,直接回車或輸入 y ,如果確定確實不需要該引擎可以輸入 n,(MySQL 5.7+版本無法關閉InnoDB),輸入完成,回車進入下一步。**我們這里是輸入y**
## 第五步:

注意:選擇PHP 7+版本時需要自行確認PHP版本是否與自己的程序兼容。**我們這里是輸入6 選擇7.0**
## 第六步:

選擇是否安裝內存優化:
可以選擇不安裝、Jemalloc或TCmalloc,輸入對應序號回車,直接回車為默認為不安裝。
**我們這里是直接回車為默認為不安裝**
## 第七步:

提示"Press any key to install...or Press Ctrl+c to cancel"后,**按回車鍵確認開始安裝**。
LNMP腳本就會自動安裝編譯Nginx、MySQL、PHP、phpMyAdmin等軟件及相關的組件。
安裝時間可能會幾十分鐘到幾個小時不等,主要是機器的配置網速等原因會造成影響。
## 第八步:

并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示安裝使用的時間及Install lnmp V1.6 completed! enjoy it.的話,說明已經安裝成功
可以按Ctrl+c退出。
## 第九步:
然后查看對接安裝的目錄
默認的是/home/wwwroot/
更改的在你更改的目錄下
這時候還沒有綁定域名,你可以直接用ip訪問,將看到如下頁面:

到這一步,環境已經搭建好了。
## 第十步:
### 處理數據庫配置

這樣發現遠程連接數據庫還是有問題,因為防火墻3306端口限制
這里禁止用root登錄操作,所以我們先到phpmyadmin web登錄root 創建賬號,



賬號創建好了,接著處理端口問題
先開啟遠程連接數據庫,后面不需要遠程再關端口
先打開防火墻
vim /etc/sysconfig/iptables

看到
~~~
A INPUT -p tcp -m tcp --dport 3306 -j DROP
~~~
然后吧 DROP 換成 ACCEPT
~~~
A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
~~~

然后重啟防火墻:
~~~
service iptables restart
~~~

阿里云也要配置端口

這就可以連接遠程訪問了

然后把需要的表導進去
# 到這里你以為就完事了嗎?還要開啟mysql binglog 日志,開啟慢查詢
## ①開啟mysql binglog 日志
查看是否開啟mysqlbinglog
~~~
show VARIABLES like '%log_bin%'
~~~

以上是開啟了的,如果不開啟這是OFF
lnmp 發現默認開啟了,cat /etc/my.cnf

查看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 慢日志查詢

~~~
在數據庫里面運行,查詢是否開啟
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
~~~

~~~
重啟數據庫
/etc/init.d/mysql restart
查詢是否開啟成功
show variables like '%quer%';
~~~

~~~
on 代表已經開啟了,然后在數據庫里面運行語句 超過1秒,
SELECT SLEEP(3)
~~~

~~~
如上可看到已經記錄了,慢查詢
~~~
## 第十一步:
### 配置上傳代碼 ,配置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證書申請