一.LNMP架构
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
![Screenshot from 2017-09-26 21-47-47.png wKiom1nKWuPylMsdAABdRDcmRQU945.png]()
二.mysql源码安装
1.cmake源码安装
由于6.5的系统cmake版本较低,需要安装高版本的cmake源码包
![Screenshot from 2017-09-26 10-16-08.png wKioL1nKQIjRIqxoAAAh9MdCw8s016.png]()
![Screenshot from 2017-09-26 10-16-42.png wKiom1nKQMbwhuImAAAsoZHm7rA576.png]()
安装包依赖
![Screenshot from 2017-09-26 10-16-56.png wKiom1nKQMbyK6DOAAAayOCgf-E526.png]()
![Screenshot from 2017-09-26 10-17-06.png wKioL1nKQInBX-TDAAA8FlmCcTQ034.png]()
2.安装mysql 5.7.17
![Screenshot from 2017-09-26 10-18-07.png wKiom1nKQMaAooO7AACi0gHWaS4291.png]()
配置,注意安装路径
![Screenshot from 2017-09-26 10-18-18.png wKioL1nKQInhL_iRAABq3a6lpMU834.png]()
安装包依赖
![Screenshot from 2017-09-26 10-18-31.png wKiom1nKQMejO8GIAABMgLvZL6g609.png]()
![Screenshot from 2017-09-26 10-18-49.png wKioL1nKQIrhD1pLAACmMvX7iMM317.png]()
还是出错,需要删除CMakeCache.txt缓存
![Screenshot from 2017-09-26 10-19-04.png wKioL1nKQIqDC79eAAC2hRcCp6Y127.png]()
每次出错安装包依赖后需要删除缓存
![Screenshot from 2017-09-26 10-19-32.png wKiom1nKQMewpOKkAAC0IWmXyY8090.png]()
编译
![Screenshot from 2017-09-26 10-21-10.png wKioL1nKQIrAtAhfAABx9xba_Kg562.png]()
。。。。。。
![Screenshot from 2017-09-26 10-58-42.png wKiom1nKQq7SDAikAABZ3uaXL7M156.png]()
安装
![Screenshot from 2017-09-26 11-00-11.png wKioL1nKQnHyu7qGAABBReOQlq4503.png]()
![Screenshot from 2017-09-26 11-04-23.png wKioL1nKQnHyhiCvAACOfVlChcc457.png]()
注:运行前删除以前的mysql,除mysql-libs外可以保留
![Screenshot from 2017-09-26 11-07-44.png wKiom1nKQq_Q6HShAAAw9Wwlhlg813.png]()
![Screenshot from 2017-09-26 11-07-54.png wKiom1nKQq_ybGmQAAAbYmYmmkU119.png]()
![Screenshot from 2017-09-26 11-08-01.png wKioL1nKQnGQZ-XOAAAcLld40m0912.png]()
3.配置mysql
进入到mysql下的support-files里
![Screenshot from 2017-09-26 11-13-45.png wKioL1nKQnKyTpOVAAA5NmyFOMo017.png]()
![Screenshot from 2017-09-26 11-13-28.png wKiom1nKQq-iHFCHAAA_LYJUTrg987.png]()
创建启动脚本mysqld放到init.d下,查看是否有x权限
![Screenshot from 2017-09-26 11-17-23.png wKiom1nKQq_jWgPEAABPRC9AWfc604.png]()
创建mysql用户
![Screenshot from 2017-09-26 11-19-53.png wKioL1nKQnKDdO57AABE-Dh1kq0830.png]()
用mysql用户初始化mysql服务,初始化自动生成data
![Screenshot from 2017-09-26 11-19-54.png wKiom1nKRIyAIQyEAABDXdj_Oi0597.png]()
报错,删除data下的所有数据,重新初始化正常
![Screenshot from 2017-09-26 11-19-55.png wKioL1nKRE-h1xCCAABV2B0e3HI175.png]()
将mysql下的文件权限变为mysql,以便用mysql用户能启动服务
![Screenshot from 2017-09-26 11-21-58.png wKiom1nKQrCQPT-QAAGMOajm0XI533.png]()
添加mysql的变量路径,以便能自动读取
![Screenshot from 2017-09-26 11-26-45.png wKiom1nKRUzhEUaQAADugrNkboA752.png]()
![Screenshot from 2017-09-26 11-25-20.png wKioL1nKQnLAPDOLAABK5Bl2qLE801.png]()
初始化完成,为了安全期间,将出data目录外,剩下的目录都变为root可读
启动mysql服务
![Screenshot from 2017-09-26 11-32-14.png wKiom1nKRUzhLQdOAAGrMmXW-uQ158.png]()
![Screenshot from 2017-09-26 11-32-48.png wKioL1nKRQ-g5G-JAABGbunXFi8002.png]()
4.测试mysql服务,并设置mysql密码
![Screenshot from 2017-09-26 11-33-18.png wKioL1nKRQ-xxCF3AABlhD6SkG0452.png]()
![Screenshot from 2017-09-26 11-37-03.png wKiom1nKRU3xNaBCAAAufejZ8tQ055.png]()
![Screenshot from 2017-09-26 11-37-10.png wKiom1nKRU3iosaDAACj8fXO0bM638.png]()
![Screenshot from 2017-09-26 11-37-19.png wKioL1nKRQ_BeMo4AADqLS5YcZI127.png]()
![Screenshot from 2017-09-26 11-37-28.png wKioL1nKRRCQtQ73AABxWbtYSVI993.png]()
进入mysql正常,密码为Westos_123
![Screenshot from 2017-09-26 11-37-35.png wKiom1nKRU3gOkonAACKdIVleI0302.png]()
![Screenshot from 2017-09-26 11-38-31.png wKiom1nKRU2Q4xtdAABIwqBGk84253.png]()
![Screenshot from 2017-09-26 11-51-59.png wKioL1nKRRDyDVjZAABKCjnc9wU740.png]()
三.php源码安装
1.安装php源码包
![Screenshot from 2017-09-26 14-20-52.png wKioL1nKRqKQ3Wm5AAA7TpWPYkY253.png]()
![Screenshot from 2017-09-26 14-34-06.png wKiom1nKRuDSUkf-AAARtBWEx7k241.png]()
安装包依赖
![Screenshot from 2017-09-26 14-35-57.png wKioL1nKRqOhXa9qAAAV1xIMaeY434.png]()
![Screenshot from 2017-09-26 14-37-04.png wKiom1nKRuHQXK96AADVJ_fIEwc973.png]()
![Screenshot from 2017-09-26 14-39-12.png wKioL1nKRqOAH_QvAABxJ3VjqLs031.png]()
![Screenshot from 2017-09-26 14-40-33.png wKiom1nKRuGAqF-GAAAcS5sZa3A607.png]()
配置出错,继续安装包依赖
![Screenshot from 2017-09-26 14-41-59.png wKiom1nKRuGAivZnAAAnniTUnwo446.png]()
配置
![Screenshot from 2017-09-26 14-42-15.png wKioL1nKRqTC2Q9-AABi_1LI9Uo486.png]()
![Screenshot from 2017-09-26 14-42-57.png wKiom1nKRuGB6FjmAAEDIUtVS6M581.png]()
创建nginx用户
![Screenshot from 2017-09-26 14-46-49.png wKioL1nKRqSw0BjZAABDA06x9L4103.png]()
生成Makefile文件,编译
![Screenshot from 2017-09-26 14-52-07.png wKiom1nKRuKDrO80AAAtCRwvN6k255.png]()
编译成功
![Screenshot from 2017-09-26 14-55-08.png wKioL1nKRqSAX5ExAACNevPzU9M960.png]()
安装,生成安装后的目录
![Screenshot from 2017-09-26 14-55-57.png wKioL1nKRqWSmVDkAAEbBIN9bpc484.png]()
2.配置php文件
![Screenshot from 2017-09-26 15-11-01.png wKiom1nKSFuynqaaAABBJCyYtUI921.png]()
![Screenshot from 2017-09-26 15-12-17.png wKiom1nKSFvhGxmsAABCQL9t5IU569.png]()
配置php.ini文件
![Screenshot from 2017-09-26 15-12-08.png wKioL1nKSB6QwbezAABJKTfZSKU688.png]()
配置php-fpm.conf文件
![Screenshot from 2017-09-26 15-13-41.png wKiom1nKSFzBSdPJAAAuWIjS-XA310.png]()
![Screenshot from 2017-09-26 15-14-45.png wKioL1nKSB7ikt5ZAACbG-w38Dw025.png]()
完成后将服务启动脚本放置到init.d下,加上可执行权限x
将php的路径添加到环境变量中去
![Screenshot from 2017-09-26 15-19-56.png wKiom1nKSFyzxabvAACtswFGGdI411.png]()
![Screenshot from 2017-09-26 15-19-32.png wKioL1nKSB6x2d3FAABNSNJF_Ek193.png]()
重新启动php-fpm服务,端口9000显示正常
![Screenshot from 2017-09-26 15-20-54.png wKioL1nKSB_C6anbAACl8u83VC0165.png]()
四.Nginx源码安装
1.解压,配置,关闭gcc编译,去掉版本号
![Screenshot from 2017-09-26 15-33-10.png wKiom1nKUDyid_klAAAlliv3Cfo131.png]()
![Screenshot from 2017-09-26 15-34-49.png wKioL1nKT__xh8OeAAAr3sQOStM161.png]()
![Screenshot from 2017-09-26 15-30-18.png wKiom1nKUDrDq-3mAABxWKrT7ug429.png]()
编译
![Screenshot from 2017-09-26 15-30-40.png wKiom1nKUDqSqMfoAADikObrWgQ494.png]()
安装
![Screenshot from 2017-09-26 15-31-32.png wKiom1nKUDvQXrmPAABvJmSAzbA008.png]()
检查语法
![Screenshot from 2017-09-26 15-38-24.png wKioL1nKT__QFQEBAABjQwHJg7U229.png]()
做启动服务的软链接,重新加载nginx服务
![Screenshot from 2017-09-26 15-50-41.png wKioL1nKULmBx5QaAABTGjQdttg386.png]()
![Screenshot from 2017-09-26 15-51-18.png wKioL1nKULmjGYOcAAA3fMqKeY8443.png]()
2.配置nginx服务
![Screenshot from 2017-09-26 16-01-01.png wKioL1nKULvRXu1RAABuGX3WSkc964.png]()
配置主页面为php,修改include为 fastcgi.conf
![Screenshot from 2017-09-26 15-54-29.png wKiom1nKUPfSeunhAAA6Pp9NTP8039.png]()
![Screenshot from 2017-09-26 15-54-34.png wKiom1nKUPejV82HAAA9ftgZ1EM028.png]()
vim index.php php访问页面
![Screenshot from 2017-09-26 15-55-57.png wKiom1nKUPjj7X0nAAAUkqDonkQ551.png]()
vim php.ini
在此配置文件当中,需要有三个地方添加mysql.sock文件
![Screenshot from 2017-09-26 15-58-39.png wKioL1nKULqiWIMQAABCNL4jseA054.png]()
![Screenshot from 2017-09-26 15-59-13.png wKioL1nKULrQ4cr4AABA1RBxRoE080.png]()
![Screenshot from 2017-09-26 16-00-36.png wKiom1nKUPiySaEmAAA9so3ds70255.png]()
配置完成,重启nginx服务
![Screenshot from 2017-09-26 16-04-01.png wKiom1nKUPjTs3zYAAA1tB25_LU614.png]()
![Screenshot from 2017-09-26 16-04-13.png wKiom1nKUm_DewiiAAANqsR_prc070.png]()
![Screenshot from 2017-09-26 16-04-25.png wKiom1nKUm-QRVrbAAA1vHxgbD4823.png]()
3.在客户机测试php访问页面,mysql接口显示正常
![Screenshot from 2017-09-26 16-04-37.png wKioL1nKUjKB2-9mAAEJzzyUALY671.png]()
![Screenshot from 2017-09-26 16-05-11.png wKioL1nKUjLit8ltAACtFDZeJ-g740.png]()
五.论坛Discuz的搭建
1.安装Discuz论坛包
安装解压工具
![Screenshot from 2017-09-26 16-22-31.png wKioL1nKUtrCxl5cAAAO7YQxlWU479.png]()
![Screenshot from 2017-09-26 16-23-15.png wKiom1nKUxjye18aAABYZ8xWv8g989.png]()
将upload移到nginx的html发布目录里,重命名为bbs
![Screenshot from 2017-09-26 16-24-19.png wKiom1nKUxjjrs2JAABxSMiwinE470.png]()
2.配置Discuz论坛包
客户机浏览器输入172.25.29.1/bbs进入安装配置界面
![Screenshot from 2017-09-26 16-24-40.png wKioL1nKUtvietTNAAH9959lOLo509.png]()
![Screenshot from 2017-09-26 16-24-52.png wKioL1nKUtugzV-uAAEDie-DvSw422.png]()
当前状态不能写入,需要修改以下目录的权限为777
![Screenshot from 2017-09-26 16-27-03.png wKiom1nKUxnDt6hqAABxlI1qLes089.png]()
![Screenshot from 2017-09-26 16-27-22.png wKiom1nKUxnA0qKNAADK06EK5ds798.png]()
![Screenshot from 2017-09-26 16-27-31.png wKioL1nKUtzwfyD4AAC_me1vXlM477.png]()
![Screenshot from 2017-09-26 16-28-50.png wKiom1nKUxqSA1cWAADLjgChBYw672.png]()
![Screenshot from 2017-09-26 16-29-01.png wKioL1nKUtyyt-q8AACouDZw0Bc344.png]()
数据库连接错误,属于权限问题,将数据库的data目录权限修改为775
![Screenshot from 2017-09-26 16-30-12.png wKiom1nKUxqAmwGXAAEiKpaHs4I911.png]()
修改权限后,刷新页面继续安装
![Screenshot from 2017-09-26 16-31-26.png wKiom1nKVI_AZP6ZAAEjmbegemE015.png]()
输入用户名和密码后正常登陆
![Screenshot from 2017-09-26 16-31-55.png wKiom1nKVJDB5JOOAAC6ekNdRlw181.png]()
![Screenshot from 2017-09-26 16-32-06.png wKioL1nKVFKjRs9xAAAt2tD0AKY241.png]()
![Screenshot from 2017-09-26 16-34-15.png wKioL1nKVFLD5KAiAABwCbniUCg280.png]()
![Screenshot from 2017-09-26 16-35-02.png wKiom1nKVJDSuReDAABqEZyRJ4A931.png]()
需要删除index.php,以免冲突
![Screenshot from 2017-09-26 16-35-50.png wKioL1nKVFPAWgHmAAAwxqwWdeI921.png]()
删除后正常访问
![Screenshot from 2017-09-26 16-36-04.png wKiom1nKVJHyQyCcAADC3BDdkzc003.png]()
3.测试论坛与数据库的连接情况
![Screenshot from 2017-09-26 16-40-32.png wKiom1nKVJGxi6MCAADBygTLdEw189.png]()
![Screenshot from 2017-09-26 16-42-06.png wKioL1nKVFTim2c5AABAYT5b_Js126.png]()
![Screenshot from 2017-09-26 16-48-42.png wKioL1nKVFTiK-6aAABt5wPfs0Q684.png]()
![Screenshot from 2017-09-26 16-56-44.png wKiom1nKVJGQfHp9AABMdMxZmSc706.png]()
论坛数据已经保存的数据库,初级lnmp搭建成功
六.MemCache的源码安装
MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象 来减少读取数据库的次数,从而提高了网站访问的速度。MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所 使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。
1.安装memcache源码包,编译,安装
![Screenshot from 2017-09-26 17-17-56.png wKiom1nKVq7w6KOdAABXMwJccLA795.png]()
![Screenshot from 2017-09-26 17-18-07.png wKioL1nKVnHwiKY-AAAPCECDS1o920.png]()
![Screenshot from 2017-09-26 17-18-16.png wKioL1nKVnGAalAcAAANzZj5dt4698.png]()
![Screenshot from 2017-09-26 17-19-27.png wKiom1nKVq7CHJRlAAAQs4mRbl0716.png]()
![Screenshot from 2017-09-26 17-24-33.png wKioL1nKVnKjgDdBAAAAhXsJ3VI762.png]()
![Screenshot from 2017-09-26 17-24-40.png wKiom1nKVq-CDuWTAACTg8Ty2dA741.png]()
vim php.ini
![Screenshot from 2017-09-26 17-23-28.png wKiom1nKVq-RtRDDAABdsqECjqw720.png]()
2.在客户机测试php访问页面,memcache显示正常
![Screenshot from 2017-09-26 17-25-06.png wKiom1nKVrCRjVcsAABqvPZ77kw969.png]()
3.安装memcached测试客户端,启动服务
![Screenshot from 2017-09-26 17-25-40.png wKioL1nKVnLAutsmAAAa0t5vE_E628.png]()
![Screenshot from 2017-09-26 17-28-01.png wKiom1nKVrCiY7FcAABJFIyRIiM761.png]()
4.将两个memcache测试文件拷入nginx下的html发布目录
![Screenshot from 2017-09-26 17-28-08.png wKioL1nKVnPT1cEIAABgT6S66Bc648.png]()
5.编辑memcache.php文件
![Screenshot from 2017-09-26 17-29-59.png wKiom1nKVrCjM2EbAACVyVKeokg145.png]()
6.测试memcache访问页面,账户:memcache 密码:westos
![Screenshot from 2017-09-26 17-31-07.png wKioL1nKVnPRwt_IAACztqNcGPU625.png]()
![Screenshot from 2017-09-26 17-32-48.png wKioL1nKVnOy8e2pAADrPB14aWo579.png]()
本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1968971,如需转载请自行联系原作者