IP-10.0.0.8

1.安装nginx

  1. mkdir -p /server/tools
  2. cd /server/tools
  3. yum install -y pcre pcre-devel openssl openssl-devel gcc gcc+
  4. wget http://nginx.org/download/nginx-1.8.0.tar.gz
  5. useradd www -M -s /sbin/nologin
  6. tar xf nginx-1.8.0.tar.gz
  7. cd nginx-1.8.0/
  8. sed -i "179s/#//" auto/cc/gcc
  9. mkdir /application
  10. ./configure --prefix=/application/nginx-1.8.0 --user=www \
  11. --group=www --with-http_stub_status_module --with-http_ssl_module
  12. make && make install
  13. ln -s /application/nginx-1.8.0/ /application/nginx
  14. # Centos7采用yum方式安装nginx
  15. rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  16. yum -y install nginx
  17. systemctl start nginx.service

2.安装php

  1. yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel\
  2. libpng-devel freetype-devel libcurl-devel gd-devel libxslt-devel \
  3. mhash mcrypt libmcrypt libmcrypt-devel
  4. # libiconv-devel没有这包
  5. cd /server/tools/
  6. wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
  7. tar xf libiconv-1.14.tar.gz
  8. cd libiconv-1.14/
  9. ./configure --prefix=/usr/local/libiconv
  10. make && make install
  11. # PHP的编译参数
  12. cd /server/tools/
  13. wget http://cn2.php.net/distributions/php-5.6.10.tar.gz
  14. tar -zxvf php-5.6.10.tar.gz
  15. cd php-5.6.10
  16. ./configure --prefix=/opt/php --with-mysql \
  17. --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \
  18. --with-iconv-dir=/usr/local/libiconv --with-zlib \
  19. --with-libxml-dir --enable-xml --with-curl --enable-fpm \
  20. --enable-mbstring --with-gd --with-openssl --with-mhash \
  21. --enable-sockets --with-xmlrpc --enable-zip --enable-soap \
  22. --with-libdir=/usr/lib64 --with-jpeg-dir=/usr/lib64 \
  23. --with-freetype-dir=/usr/lib64 --with-png-dir=/usr/lib64 \
  24. --with-xsl --with-fpm-user=www --with-fpm-group=www
  25. make
  26. make install clean

3.解决问题

  1. # 安装MySQL参考上一篇博文
  2. # 解决缺少共享库的问题,两种方法(先用find查到这个库的位置):
  3. vi /etc/ld.so.conf
  4. /opt/mysql-5.6.21/libmysql/
  5. ldconfig # 生效
  6. ln -s /opt/mysql-5.6.21/libmysql/libmysqlclient.so.18 /usr/lib64/
  7. # 如果make的时候报:ext/phar/phar.phar没有这个文件
  8. cd php-5.6.10
  9. touch ext/phar/phar.phar
  10. # 本机没有安装mysql时,可以使用下面的参数
  11. --enable-mysqlnd
  12. --with-mysqli=mysqlnd
  13. --with-pdo-mysql=mysqlnd
  14. # 配置并启动php-fpm
  15. cp php.ini-production /opt/php/lib/php.ini
  16. cd /opt/php/etc/
  17. cp php-fpm.conf.default php-fpm.conf
  18. cd /server/tools/php-5.6.10/sapi/fpm/
  19. cp init.d.php-fpm /etc/init.d/php-fpm
  20. chmod +x /etc/init.d/php-fpm
  21. service php-fpm start # 或者/opt/php/sbin/php-fpm
  22.  
  23. cat blog.conf
  24. server {
  25. listen 80;
  26. server_name blog.etiantian.com;
  27. location / {
  28. root html/blog;
  29. index index.php index.html;
  30. }
  31. location ~.*\.(php|php5)?$ {
  32. root html/blog;
  33. fastcgi_pass 127.0.0.1:9000;
  34. fastcgi_index index.php;
  35. include fastcgi.conf;
  36. }
  37. }
  38. /application/nginx/sbin/nginx -s reload
  39. mkdir /application/nginx/html/blog/
  40. echo "<?php phpinfo(); ?>" > /application/nginx/html/blog/test.php
  41. # 连接数据库测试
  42. cat /application/nginx/html/blog/conn_mysql.php
  43. <?php
  44. $con = mysql_connect("localhost","root","root123") or mysql_error();
  45. if ($con){
  46. echo "connect mysql successfully";
  47. }
  48. else{
  49. echo mysql_error();
  50. }
  51. ?>

4.搭建WordPress博客

  1. create database wordpress;
  2. grant all on wordpress.* to wordpress@'localhost' identified by '123456';
  3. show grants for wordpress@'localhost'\G;
  4. # 如果授权授大了,在user表中删除用户是不行的,得drop然后重新授权
  5. drop user wordpress@'localhost';
  6. # revoke貌似不太好使
  7. revoke all on *.* from wordpress@localhost;
  8.  
  9. wget https://cn.wordpress.org/wordpress-4.5.1-zh_CN.tar.gz
  10. cp -a wordpress/* /application/nginx/html/blog/
  11. # 这个权限是为了让先能用,以后还要改
  12. chown -R www.www /application/nginx/html/blog/
  13. # 现在blog目录下的文件有22个,安装后会多出一个配置文件
  14. # 访问blog.etiantian.com,点击安装,会生成一个连接数据库的配置文件--wp-config.php
  15. # 图片上传目录为:/application/nginx/html/blog/wp-content/uploads

5.分离数据库

  1. # 导出wordpress数据并修改连接数据库的文件(web01上)
  2. vi wp-config.php
  3. define('DB_HOST', '172.16.1.51');
  4. mysqldump -uroot -poldboy123456 wordpress -B | gzip > bak.sql.gz
  5. # 导入数据(db01上)
  6. mysql -uroot -poldboy123456 < /tmp/bak.sql
  7. grant all on wordpress.* to wordpress@'172.16.1.%' identified by '123456';
  8. # 在其他服务器上就能以这样的语句访问51的数据库了
  9. mysql -u wordpress -h 172.16.1.51 -p

6.静态图片放在nfs上

  1. # 10.0.0.31是之前的NFS服务器,在10.0.0.31上创建用户,与10.0.0.8上的www的id相同
  2. useradd -u 891 www
  3. vi /etc/exports
  4. /data 172.16.1.0/24(rw,sync,all_squash,root_squash,anonuid=891,anongid=891)
  5. mkdir /data/nfs-blog
  6. chown -R www.www /data/
  7. # 在web01上操作
  8. rpm -qa rpcbind nfs-utils
  9. /etc/init.d/rpcbind status
  10. cd /application/nginx/html/blog/wp-content/uploads
  11. mv 2018 /tmp/
  12. mount -t nfs 172.16.1.31:/data/nfs-blog /application/nginx/html/blog/wp-content/uploads/
  13. cp -a /tmp/2018/ .
  14. 排错:
  15. touch: cannot touch `aaa': Permission denied
  16. # 挂载完之后,无法创建文件,是因为在/etc/exports中将anonuid写成了893,
  17. # 在改成891之后,还是无法写入,重启客户端rpcbind之后,可以正常写入.

7.wordpress实现伪静态

  1. 管理站点-设置-固定链接-自定义结构:
  2. /archives/%post_id%.html
  3. 文章的url就会变成这样的形式:
  4. http://blog.etiantian.com/archives/9.html
  5.  
  6. cat blog.conf
  7. server {
  8. listen 80;
  9. server_name blog.etiantian.com;
  10. location / {
  11. root html/blog;
  12. index index.php index.html;
  13. try_files $uri $uri/ /index.php?$args;
  14. }
  15. location ~ .*\.(php|php5)?$ {
  16. root html/blog;
  17. fastcgi_pass 127.0.0.1:9000;
  18. fastcgi_index index.php;
  19. include fastcgi.conf;
  20. }
  21.  
  22. }

CentOS6.7安装部署LNMP(nginx1.8.0+php5.6.10+mysql5.6.12)的更多相关文章

  1. centos6.8下LNMP (nginx1.8.0+php5.6.10+mysql5.6.12) - 部署手册

    在平时运维工作中,经常需要用到LNMP应用框架.以下对LNMP环境部署记录下: 1)前期准备:为了安装顺利,建议先使用yum安装依赖库[root@opd ~]#yum install -y make ...

  2. centos6.8下安装部署LNMP(备注:nginx1.8.0+php5.6.10+mysql5.6.12)

    在平时运维工作中,经常需要用到LNMP应用框架.以下对LNMP环境部署记录下: 1)前期准备:为了安装顺利,建议先使用yum安装依赖库[root@opd ~]#yum install -y make ...

  3. 编译安装LNMP Centos 6.5 x64 + Nginx1.6.0 + PHP5.5.13 + Mysql5.6.19

    (来自:http://www.cnblogs.com/vicowong/archive/2011/12/01/2116212.html) 环境: 系统硬件:vmware vsphere (CPU:2* ...

  4. centos-6.5安装部署LNMP环境

    安装部署前,确保安装了gcc和gcc-c++ 系统信息: [root@zww ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@ ...

  5. centos7编译安装LNMP(nginx-1.16.0,mysql8.0.16,php-7.3.6)常见问题报错及解决方法

    LNMP的安装与配置 nginx-1.16.0安装及配置: 第一步:前往官网下载nignx源码包 下载完毕后上传至服务器(先安装lrzsz) yum -y install lrzsz 安装完毕后执行: ...

  6. 在ConoHa上Centos7环境下源码安装部署LNMP

    本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...

  7. 基于centos6.5安装部署mongdb3.6

    注意:不同的版本的centos,mongdb安装方式不同,请注意版本号!! 基于centos6.5安装部署mongdb3.6 方式有多种,本文介绍使用wget命令来下载获取mongdb,具体命令如下 ...

  8. Apache Hadoop集群离线安装部署(二)——Spark-2.1.0 on Yarn安装

    Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...

  9. 史上最全CentOS6离线安装部署Cloudera Manager5.9.3

    史上最全CentOS6离线安装部署Cloudera Manager5.9.3

随机推荐

  1. 《零基础入门学习Python》【第一版】视频课后答案第001讲

    测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...

  2. 面向对象之元类(metaclass)

    一.前言: 要搞懂元类必须要搞清楚下面几件事: 类创建的时候,内部过程是什么样的,也就是我们定义类class 类名()的过程底层都干了些啥 类的调用即类的实例化过程的了解与分析 我们已经知道元类存在的 ...

  3. linux下安装mysql并设置远程连接

    腾讯云环境为Centos7.4   mysql版本为5.6 本次安装使用yum安装 检查是否已有mysql: yum list installed | grep mysql 下载yum源文件: wge ...

  4. python数据类型之字典(dict)和其常用方法

    字典的特征: key-value结构key必须可hash,且必须为不可变数据类型.必须唯一. # hash值都是数字,可以用类似于2分法(但比2分法厉害的多的方法)找.可存放任意多个值.可修改.可以不 ...

  5. Java并发编程的艺术 记录(三)

    Java内存模型 并发编程的两个关键问题: 1.线程之间如何通讯. 2.线程间如何同步. 两种方式:共享内存和消息传递. Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通 ...

  6. python——全局变量&局部变量

    >>> count = 5 >>> def function(): count = 10 print(10) >>> function() 10 ...

  7. C++中重载、覆盖和隐藏的区别,以及适用场景

    一.重载.覆盖和隐藏的区别 二.适用场景 1.重载: 适用于不同的数据类型都需要使用到的功能函数.以数据相加的函数为例,可以在同一个文件内提供以下的重载函数以支持同样的功能: int add(int, ...

  8. 同一条sql在mysql5.6和5.7版本遇到的问题。

    之前用的是mysql 5.6版本,执行select * from table group by colunm 是可以出结果的, 但是切换的5.7版本,这条sql就报错, Expression #1 o ...

  9. dict 字典的常用操作

    #dict 字典的常用操作: id_db.get() #获取 id_db.update() #更新(覆盖)字典 id_db.values() #打印字典里所有的values id_db.keys() ...

  10. 修改Echarts 图表的坐标轴的文本的排列位置

    option.xAxis.axisLabel['interval'] = 0 option.xAxis.axisLabel['formatter'] = function(value,index){ ...