准备篇:

1、配置防火墙,开启80端口、3306端口
       vi /etc/sysconfig/iptables
       -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)
       -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
添加好之后防火墙规则如下所示:
#########################################################

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

#########################################################
/etc/init.d/iptables restart  #最后重启防火墙使配置生效

centos 7

firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=3306/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload

2、关闭SELINUX
       vi /etc/selinux/config
       #SELINUX=enforcing       #注释掉
       #SELINUXTYPE=targeted    #注释掉
       SELINUX=disabled         #增加
       :wq  保存,关闭
       shutdown -r now   #重启系统

3、配置CentOS 6.2 第三方yum源(CentOS默认的标准源里没有nginx软件包)
       yum install wget    #安装下载工具wget

1
wget http://www.atomicorp.com/installers/atomic

#下载atomic yum源
       sh ./atomic   #安装
       yum check-update  #更新yum软件包
################################################################
安装篇:

一、安装nginx
       yum install nginx      #安装nginx,根据提示,输入Y安装即可成功安装
       service nginx start    #启动
       chkconfig  nginx on    #设为开机启动
       /etc/init.d/nginx  restart  #重启
       rm -rf /usr/share/nginx/html/*  #删除ngin默认测试页

二、安装MySQL
       1、安装mysql

yum install mysql mysql-server   #询问是否要安装,输入Y即可自动安装,直到安装完成
       /etc/init.d/mysqld start   #启动MySQL
       chkconfig mysqld on   #设为开机启动
       cp /usr/share/mysql/my-medium.cnf   /etc/my.cnf  #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
       shutdown -r now  #重启系统

2、为root账户设置密码
       mysql_secure_installation
       回车,根据提示输入Y
       输入2次密码,回车
       根据提示一路输入Y
       最后出现:Thanks for using MySQL!

MySql密码设置完成,重新启动 MySQL:
      /etc/init.d/mysqld stop   #停止
      /etc/init.d/mysqld start  #启动
      service mysqld restart    #重启

三、安装PHP
       1、安装PHP
       yum install php   #根据提示输入Y直到安装完成 
       2、安装PHP组件,使PHP支持 MySQL、PHP支持FastCGI模式

1
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm

#根据提示输入Y回车
      /etc/init.d/mysqld restart  #重启MySql
      /etc/init.d/nginx  restart  #重启nginx
      /etc/rc.d/init.d/php-fpm  start  #启动php-fpm
      chkconfig php-fpm on  #设置开机启动
################################################################
配置篇

一、配置nginx支持php
       cp /etc/nginx/nginx.conf  /etc/nginx/nginx.confbak    #备份原有配置文件
       vi /etc/nginx/nginx.conf  #编辑
       user   nginx  nginx;  #修改nginx运行账号为:nginx组的nginx用户
       :wq!    #保存退出

cp /etc/nginx/conf.d/default.conf  /etc/nginx/conf.d/default.confbak   #备份原有配置文件
vi /etc/nginx/conf.d/default.conf   #编辑

index  index.php index.html index.htm;   #增加index.php

1
2
3
4
5
6
7
8
9
  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  #
  location ~ \.php$ {
    root         /usr/share/nginx/html; **** nginx 指向跟路径**** 
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    include        fastcgi_params;
  }

#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用      * 绝对路径 (如果没有找到文件可以试试)

二、配置php

vi  /etc/php.ini   #编辑

date.timezone = PRC     #在946行 把前面的分号去掉,改为date.timezone = PRC

1
  disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
  expose_php = Off        #在432行 禁止显示php版本的信息
  magic_quotes_gpc = On   #在745行 打开magic_quotes_gpc来防止SQL注入
  open_basedir = .:/tmp/  #在380行,设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题,可注销此行,或者直接写上程序目录路径/var/www/html/www.osyunwei.com/:/tmp/
      :wq!  #保存退出

三、配置php-fpm

cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak #备份原有配置文件
       vi /etc/php-fpm.d/www.conf #编辑
       user = nginx   #修改用户为nginx
       group = nginx   #修改组为nginx

/etc/init.d/mysqld restart  #重启MySql
       /etc/init.d/nginx  restart  #重启nginx
       /etc/rc.d/init.d/php-fpm  restart  #重启php-fpm
################################################################
测试篇
      cd  /usr/share/nginx/html/   #进入nginx默认网站根目录
       vi  index.php   #新建index.php文件

1
2
3
<?php
           phpinfo();
       ?>

:wq! #保存

chown nginx.nginx /usr/share/nginx/html/ -R  #设置目录所有者

chmod 700  /usr/share/nginx/html/ -R   #设置目录权限

在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!
################################################################

备注

nginx默认站点目录是:/usr/share/nginx/html/

权限设置:chown nginx.nginx /usr/share/nginx/html/ -R

MySQL数据库目录是:/var/lib/mysql

权限设置:chown mysql.mysql -R  /var/lib/mysql

注:

1  三 配置php-fpm

一定要按照以下修改

vi /etc/php-fpm.d/www.conf #编辑
 user = nginx   #修改用户为nginx
 group = nginx   #修改组为nginx

2 出现了Access Denied错误

解决方案:

①打开php.ini文件

②找到open_basedir处

③将该行注释掉,注释掉的意思就是说php可以在任何文件夹下运行,如果希望能够在指定的文件夹下运行,则将open_basedir设定成相应的目录

④保存并退出

重启PHP-FPM service php-fpm restart

参考:http://www.ailab.cn/article/2015082029910.html

参考文档:http://www.osyunwei.com/archives/2353.html

https://zhidao.baidu.com/question/362471324498583292.html

centos 6 YUM安装 lnmp的更多相关文章

  1. centos下yum安装lamp和lnmp轻松搞定

    centos下yum安装lamp和lnmp轻松搞定.究竟多轻松你看就知道了.妈妈再也不操心不会装lamp了. 非常辛苦整理的安装方法,会持续更新下去.凡无法安装的在评论里贴出问题来,会尽快解决.共同维 ...

  2. centos下编译安装lnmp

    centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...

  3. centos7 yum 安装lnmp

    centos7 yum 安装lnmp   安装7.2把7.1改成7.2就行 使用第三方扩展epel源安装php7.2 #移除旧版php [root@web02 ~]# yum remove php-m ...

  4. centos'的yum安装php的memcache扩展

    centos'的yum安装php的memcache扩展 博客分类: linux   让php能使用memcached服务的扩展有两种:memcache 和 memcached 1. 先安装libmem ...

  5. centOS下yum安装配置samba

     centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...

  6. centos下yum安装crontab+mysql自动备份

    参考博文: centos下yum安装crontab yum install vixie-cron crontabs      //安装 chkconfig crond on               ...

  7. Linux Centos 使用 yum 安装java

    centos 使用 yum 安装java 首先,在你的服务器上运行一下更新. yum update 然后,在您的系统上搜索,任何版本的已安装的JDK组件. rpm -qa | grep -E '^op ...

  8. <亲测>CentOS中yum安装ffmpeg

    CentOS中yum安装ffmpeg 1.升级系统 sudo yum install epel-release -y sudo yum update -y sudo shutdown -r now 2 ...

  9. CentOS7使用yum安装LNMP环境以后无法打开php页面

    CentOS7使用yum安装LNMP环境以后无法打开php页面 页面提示为File not found 查看nginx错误日志/var/log/nginx/error.log提示如下 原因分析 ngi ...

随机推荐

  1. IDEA里运行代码时出现Error:scalac: error while loading JUnit4, Scala signature JUnit4 has wrong version expected: 5.0 found: 4.1 in JUnit4.class错误的解决办法(图文详解)

    不多说,直接上干货!  问题详情 当出现这类错误时是由于版本不匹配造成的 Information:// : - Compilation completed with errors and warnin ...

  2. 浏览器对document.all的支持差异

    从何而来从IE4开始IE的object model才增加了document.all对象,MSDN中也对 Object.all 有详细的说明,Object.all是个HTMLCollection,不是数 ...

  3. javascript的跨域调用

    [服务端] [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiP ...

  4. ubuntu安装甲骨文最新jdk7

    1.下载jdk7(我下载的是Java SE Platform(jdk) 7u51): http://www.oracle.com/technetwork/java/javase/downloads/i ...

  5. 公司管理系列--80% of Your Culture is Your Founder(FaceBook)

    80% of Your Culture is Your Founder     When Molly Graham joined Facebook in 2008, the company still ...

  6. Java并发编程之volatile关键字解析

    一内存模型的相关概念 二并发编程中的三个概念 三Java内存模型 四深入剖析volatile关键字 五使用volatile关键字的场景 volatile这个关键字可能很多朋友都听说过,或许也都用过.在 ...

  7. 删除trigger 禁用触发器 启用触发器 查看触发器

    删除trigger drop trigger 触发器名 on 在那个表上 禁用触发器 Alter Table 表名 disable trigger 触发器名 启用触发器 Alter Table 表名 ...

  8. .Net程序员玩转Android系列之一~Java快速入门

    前言 前段时间受公司业务发展需要,探索性进入Android开发领域.一切从零开始,java基础,Java进阶,Android框架学习,Eclipse熟悉,最终到第一个即时通讯App完成,历经一个月的时 ...

  9. 七、cent OS下干净卸载mysql

    使用以下命令查看当前安装mysql的情况rpm -qa | grep -i mysql显示之前安装的东西,示例:MySQL-client-5.5.25a-1.rhel5MySQL-server-5.5 ...

  10. Hive Join

    最近被朋友问到有关于Hive Join的问题,保守回答过后,来补充补充知识: Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 一.Hi ...