LAMP
组件
源码安装
yum install -y gcc gcc-c++ makegcc --version# 编译安装三部曲./configure --prefix=makemake install# 编译出错清除缓存make clean
操作命令
apachectl start|stop|restart# 开启mysqlmysqld_safe --user=mysql &# 关闭mysqlmysqladmin -u mysql -p 123456 shutdown# php内置扩展安装方法# 扩展内没有configure时phpize # 生成configure./configuremakemake install# 配置文件中开启扩展# php三方包管理器 composer# 官方仓库 Packagist.orgcomposer -Vrequire # 将配置写入composer.jsoninstall # 按lock文件下载update # 更新# phpMyAdmin# 可视化管理MySQL# wordpress# 测试整体LAMP环境
手册
LNMP
基础
手册
Apache
常用配置
# 检测配置文件是否有语法错误apachectl -t# 虚拟主机下多个项目可以自定义一些配置# 每个项目根目录下可以创建.htaccess文件做些简单的apache配置,不用重启即可生效# 项目下的目录和子目录都会生效# 缺点是每访问这个项目都会加载这个配置文件# 当然是可以通过主配置文件下的AllowOverride None指令关闭这个动态的配置文件# apache的用户认证# 新增用户名密码文件htpasswd -c apache.passwd user1# 新增用户htpasswd -m apache.passwd user2
工作模式
- MPM(多进程模块处理),以下是三种主要模式
- prefork(多进程模式)
- worker(多进程多线程模式,但要注意线程安全问题)
- event(在worker模式上增加了keep-alive,目前主要使用此模式)
- 对应配置文件是extra/httpd-mpm.conf
- 查看当前是哪种模式
httpd -V | grep -i mpm
手册
Apache服务器的配置与管理.pptxNginx
基础
```shellip黑白名单
allow 192.168.1.22; deny 192.168.1.1/24;
负载均衡
rr
upstream bbs { server 192.168.2.22:80; server 192.168.1.22:80; }
weight
upstream bbs { server 192.168.2.22:80 weight=2; server 192.168.1.22:80 weight=1; }
backup
upstream bbs { server 192.168.2.22:80 ; server 192.168.1.22:80 backup; }
down
upstream bbs { server 192.168.2.22:80 down; server 192.168.1.22:80 ; }
<a name="qH9Q8"></a>## 手册[Nginx配置文件详解.docx](https://www.yuque.com/attachments/yuque/0/2022/docx/1491874/1654755788930-0a5700a4-60d1-448d-846b-902c325e603f.docx?_lake_card=%7B%22src%22%3A%22https%3A%2F%2Fwww.yuque.com%2Fattachments%2Fyuque%2F0%2F2022%2Fdocx%2F1491874%2F1654755788930-0a5700a4-60d1-448d-846b-902c325e603f.docx%22%2C%22name%22%3A%22Nginx%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%A6%E8%A7%A3.docx%22%2C%22size%22%3A26245%2C%22type%22%3A%22%22%2C%22ext%22%3A%22docx%22%2C%22source%22%3A%22%22%2C%22status%22%3A%22done%22%2C%22mode%22%3A%22title%22%2C%22download%22%3Afalse%2C%22taskId%22%3A%22u62c3415b-8efe-436e-b12f-ac2dcba689d%22%2C%22taskType%22%3A%22upload%22%2C%22__spacing%22%3A%22both%22%2C%22id%22%3A%22ufc7aa2c8%22%2C%22margin%22%3A%7B%22top%22%3Atrue%2C%22bottom%22%3Atrue%7D%2C%22card%22%3A%22file%22%7D)<br />[Nginx.pptx](https://www.yuque.com/attachments/yuque/0/2022/pptx/1491874/1654755841034-01be15ff-8d77-4fbc-a4eb-edf22c4f6d2d.pptx?_lake_card=%7B%22src%22%3A%22https%3A%2F%2Fwww.yuque.com%2Fattachments%2Fyuque%2F0%2F2022%2Fpptx%2F1491874%2F1654755841034-01be15ff-8d77-4fbc-a4eb-edf22c4f6d2d.pptx%22%2C%22name%22%3A%22Nginx.pptx%22%2C%22size%22%3A174033%2C%22type%22%3A%22%22%2C%22ext%22%3A%22pptx%22%2C%22source%22%3A%22%22%2C%22status%22%3A%22done%22%2C%22mode%22%3A%22title%22%2C%22download%22%3Afalse%2C%22taskId%22%3A%22u54b9d2b9-c0aa-4509-906b-a69e4e43d26%22%2C%22taskType%22%3A%22upload%22%2C%22__spacing%22%3A%22both%22%2C%22id%22%3A%22u350f0655%22%2C%22margin%22%3A%7B%22top%22%3Atrue%2C%22bottom%22%3Atrue%7D%2C%22card%22%3A%22file%22%7D)<a name="zqC6W"></a># 企业邮件服务器<a name="k2OcA"></a>## 基础- 跨域发邮件时需要先查询对方域名的MX(Mail eXchange)记录找到IP地址,然后在使用TCP/SMTP协议发送<a name="xPvFo"></a>## 配置MX的DNS记录- 省略第一个主配置文件和第二个区域配置文件的详细配置- 第三个数据文件配置<a name="pZNup"></a>## 测试发送客户端和接收客户端- 发送客户端- postfix(yum install -y postfix )- 接收客户端- dovecot (yum install -y dovecot )<a name="M5eJs"></a>## 手册[企业邮件部署.pptx](https://www.yuque.com/attachments/yuque/0/2022/pptx/1491874/1654829819413-1a4c527c-31ea-4b6a-bf92-913644169747.pptx?_lake_card=%7B%22src%22%3A%22https%3A%2F%2Fwww.yuque.com%2Fattachments%2Fyuque%2F0%2F2022%2Fpptx%2F1491874%2F1654829819413-1a4c527c-31ea-4b6a-bf92-913644169747.pptx%22%2C%22name%22%3A%22%E4%BC%81%E4%B8%9A%E9%82%AE%E4%BB%B6%E9%83%A8%E7%BD%B2.pptx%22%2C%22size%22%3A516488%2C%22type%22%3A%22%22%2C%22ext%22%3A%22pptx%22%2C%22source%22%3A%22%22%2C%22status%22%3A%22done%22%2C%22mode%22%3A%22title%22%2C%22download%22%3Afalse%2C%22taskId%22%3A%22u2456ea4d-4603-4081-89a0-91ef0b37b7d%22%2C%22taskType%22%3A%22upload%22%2C%22__spacing%22%3A%22both%22%2C%22id%22%3A%22u7b5b2d8c%22%2C%22margin%22%3A%7B%22top%22%3Atrue%2C%22bottom%22%3Atrue%7D%2C%22card%22%3A%22file%22%7D)<a name="TEOL3"></a># JavaWeb<a name="B8Ibg"></a>## 基础```shell# 打包jar -cvf x.(war|jar)# 解压包jar -xvf x.(war|jar)
PublicCMS
-
手册
ELK
基础
elasticsearch 9200端口
- logstash 5044端口
- input
- filter
- output
- kibana 5601端口
手册
ELK.pptxMySQL
常用
```shell yum install -y mysql-server
运行安全初始化脚本
mysql_secure_installation
启停服务
systemctl start mysqld systemctl stop mysqld
/usr/local/mysql/bin/mysqld_safe —user=mysql & /usr/local/mysql/bin/mysqladmin -uroot -p shutdown
连接服务器
mysql -uroot -p123456 -hlocalhost [mysql默认要进入的数据库名称]
查看状态
\s
相当于
status
删除数据
delete from tableName # 清空数据,不删除auto_increment的值 truncate table tableName # 清空表,也重置auto_increment的值
DQL
select * from table_name where id > 30 group by having order by limit
<a name="V1cdj"></a>## SQL- DDL 数据定义语言 (CREATE、DROP、ALTER...)- DML 数据维护语言 (INSERT、UPDATE、DELETE...)- DQL 数据查询语言 (SELECT... )- DCL 数据控制语言 (GRANT、REVOKE、COMMIT、ROLLBACK...)<a name="V2xNM"></a>## 数据类型- 数值型- 字符型- 时间型- 空值<a name="VbnWK"></a>## 字段属性- unsigned 无符号 适用于 tinyint类型,使之从-128到127到0-255- zerofill 0填充,指定数字长度后,如果长度不够可以在前面填0,不适用负数 如 int(3) 5就会填充为005- auto_increment 自动增长- null / not null 可为空值/不可为空值- default 默认值<a name="tl0iD"></a>## 索引- 主键索引 primary key (表唯一)- 唯一索引 unique (当前列的数据不能重复,插入重复的数据会报错duplicate ,列唯一)- 常规索引 index- 全文索引 fulltext```shell# 创建索引## 随表创建create table table_name(.... index index_name(filed1[,field2...])))## 新增索引create index index_name on table_name(filed1[,field2...])# 查看索引show index from tableName;# 删除索引drop index index_name on table_name;# 创建全文索引create table table_name(.... fulltext(desc))# 通过关键字在全文索引的字段上查询## 通常不会select * 因为某个字段可能很长## match()传入加上全文索引的字段## against()传入需要查询的关键字select name,price from books where match(desc) against('keyword')## 查看关键字的权重,结果如下图select match(desc) against('keyword') from books;
事务
- 默认每条语句执行都会自动提交
- set AUTOCOMMIT=0 关闭事务自动提交
事务手动提交
也可以用命令行输入重定向还原
手册
Redis
基础
# 默认16个库,从0-15# 切换数据库select [0-15]# key是否存在exists key# 查看当前数据库的key的数量dbsize# 清空当前库flushdb# 清空所有库flushall
数据类型
- 字符串 string
- 列表 list
- 哈希 hash
- 集合 set (不能重复且无序)
- 有序集合 zset (不能重复且有序)
- pub/sub
- bitmap(每个二进制位都是有0、1状态可以进行业务意义关联,可用于用户、角色、权限的验证)
- HyperLogLog(大数据量时的计数统计,常用于PV、UV等统计,存在一定少量误差,但高效且占用空间少)
-
事务
其实就是一条一条命令执行
multiexecdiscard
乐观锁
持久化
RDB
RedisDataBase
- 间隔时间有写操作后的整体快照
- 优势

- 劣势
AOF
- AppendOnlyFile
- 以日志的形式增量保存写操作





- 优势

- 劣势
选型
主从
# 切换为主slaveof no one# 认主slaveof ip port# 查看状态info replication



























