设为首页 收藏本站
查看: 565|回复: 0

[经验分享] LNMP架构 源码安装nginx+mysql+php+memcache+论坛

[复制链接]

尚未签到

发表于 2018-12-13 08:33:35 | 显示全部楼层 |阅读模式
  一.LNMP架构
  LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
  Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
  Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
  Mysql是一个小型关系型数据库管理系统。
  PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
  这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

  二.mysql源码安装
  
  1.cmake源码安装

  由于6.5的系统cmake版本较低,需要安装高版本的cmake源码包


  安装包依赖



  需要yum install -y openssl-devel
  yum install  bison -y
  

  2.安装mysql 5.7.17


  配置,注意安装路径


  cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_SSL=yes -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BOOST=/usr/local/boost/boost_1_59_0
  中间还会出现这个没有boost库的错误

  解决办法是:
1.在/usr/local下创建一个名为boost的文件夹
    mkdir -p /usr/local/boost
2.进入这个新创建的文件夹然后下载boost
    wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
3.解压
    tar -xvzf boost_1_59_0.tar.gz
4.继续cmake
  -DWITH_BOOST=/usr/local/boost/boost_1_59_0
  安装包依赖



  还是出错,需要删除CMakeCache.txt缓存


  每次出错安装包依赖后需要删除缓存


  编译


  。。。。。。


  安装



  注:运行前删除以前的mysql,除mysql-libs外可以保留




  
  3.配置mysql
  进入到mysql下的support-files里



  创建启动脚本mysqld放到init.d下,查看是否有x权限


  创建mysql用户


  用mysql用户初始化mysql服务,初始化自动生成data

  用mysqld --initialize --user=mysql

  报错,删除data下的所有数据,重新初始化正常


  将mysql下的文件权限变为mysql,以便用mysql用户能启动服务


  添加mysql的变量路径,以便能自动读取



  
  初始化完成,为了安全期间,将出data目录外,剩下的目录都变为root可读
  启动mysql服务



  4.测试mysql服务,并设置mysql密码






  进入mysql正常,密码为Westos_123




  

三.php源码安装
  1.安装php源码包



  安装包依赖





  配置出错,继续安装包依赖


  配置

  ./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --without-pear --with-gettext --with-gmp --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash


  创建nginx用户


  生成Makefile文件,编译


  编译成功


  安装,生成安装后的目录


  2.配置php文件



  配置php.ini文件

  
  配置php-fpm.conf文件


  完成后将服务启动脚本放置到init.d下,加上可执行权限x
  将php的路径添加到环境变量中去


  重新启动php-fpm服务,端口9000显示正常


  四.Nginx源码安装
  1.解压,配置,关闭gcc编译,去掉版本号




  编译


  安装


  检查语法


  
做启动服务的软链接,重新加载nginx服务


  2.配置nginx服务


  配置主页面为php,修改include为 fastcgi.conf



  vim index.php     php访问页面

  vim php.ini
  在此配置文件当中,需要有三个地方添加mysql.sock文件




  配置完成,重启nginx服务




  3.在客户机测试php访问页面,mysql接口显示正常



  五.论坛Discuz的搭建
  1.安装Discuz论坛包

  安装解压工具



  将upload移到nginx的html发布目录里,重命名为bbs


  2.配置Discuz论坛包
  客户机浏览器输入172.25.29.1/bbs进入安装配置界面



  当前状态不能写入,需要修改以下目录的权限为777






  数据库连接错误,属于权限问题,将数据库的data目录权限修改为775


  修改权限后,刷新页面继续安装


  输入用户名和密码后正常登陆





  需要删除index.php,以免冲突


  删除后正常访问


  3.测试论坛与数据库的连接情况





  论坛数据已经保存的数据库,初级lnmp搭建成功

  六.MemCache的源码安装
           MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。
  

  1.安装memcache源码包,编译,安装







  vim php.ini


  2.在客户机测试php访问页面,memcache显示正常

  3.安装memcached测试客户端,启动服务



  4.将两个memcache测试文件拷入nginx下的html发布目录


  5.编辑memcache.php文件


  6.测试memcache访问页面,账户:memcache     密码:westos







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650730-1-1.html 上篇帖子: PHP系列(十二)数据库抽象层pdo 下篇帖子: PHP通过exec函数实现对APK自动签名
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表