centos6.5下使用yum完美搭建LNMP环境(php5.6,mysql5.5,nginx1.10)
准备工作
-
配置防火墙,开启80端口、3306端口
不用执行这句:rm -rf /etc/sysconfig/iptables 直接进入修改:vi /etc/sysconfig/iptables
添加80、3306端口,如下内容 :
################################ 添加好之后防火墙规则如下所示################################ # 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 #######################################################################################
:wq保存退出, 重启防火墙使配置生效
/etc/init.d/iptables restart
-
关闭SELINUX
不用执行:rm -rf /etc/selinux/config 直接执行修改:vi /etc/selinux/config
添加一行内容:
SELINUX=disabled
:wq保存退出
#重启系统reboot
- 安装第三方yum源:(这里可能会报错,如下:原因是DNS和ip获取错误,mininal版本默认没有配置DNS,参考我的上上篇文章解决,命令有时候不执行,别急,再输入一次就执行了),解决后,执行下面代码安装yum源:
#安装下载工具 yum install wget #下载 wget http://www.atomicorp.com/installers/atomic #安装 sh ./atomic #更新yum源 yum check-update
开始安装
一. 安装nginx,默认1.10=》nginx -V(yum install nginx会报错:No package nginx available,解决参照上篇文章)
#删除系统自带的软件包 yum remove httpd* php* #安装nginx yum install -y nginx #设置nginx开机启动 chkconfig nginx on #启动nginx service nginx start
二. 安装PHP5.6
- 检查当前安装的PHP包
yum list installed | grep php
如果有安装的PHP包,先删除他们, 如:yum remove php.x86_64 php-cli.x86_64 php-common.x86_64
- 配置安装包源:
# Centos 5.X rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm # CentOs 6.x rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm =》》》 有时候会不执行或报错,多敲几次一定要所有字母都对应上 # CentOs 7.X rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
如果想删除上面安装的包,重新安装rpm -qa | grep webstatic rpm -e [上面搜索到的包即可]
- 执行安装
yum -y install php56w.x86_64 yum -y --enablerepo=webtatic install php56w-devel yum -y install php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-opcache.x86_64
- 安装PHP FPM
yum -y install php56w-fpm #设置php-fpm开机启动 chkconfig php-fpm on #启动php-fpm /etc/init.d/php-fpm start
注:如果想更换到php5.5或5.4版本, 直接把上面的56w换成55w或者54w就可以了
三. 安装 MySQL,查看版本:mysql -V 或者进入mysql>select version();(默认5.1,版本有点低==》在后面博客有讲如何卸载5.1,安装5.5,传送门:http://www.cnblogs.com/xuzhengzong/p/7772681.html)
- 安装
yum install -y mysql mysql-server #启动MySQL /etc/init.d/mysqld start #设为开机启动 chkconfig mysqld on #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可) cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
- 为root账户设置密码
mysql_secure_installation # 回车,根据提示输入Y,输入2次密码,回车,根据提示输入Y或者N(比如不允许远程访问:N),最后出现:Thanks for using MySQL! # MySql密码设置完成,重新启动 MySQL: #重启 /etc/init.d/mysqld restart #停止 /etc/init.d/mysqld stop #启动 /etc/init.d/mysqld start
配置
1. 配置nginx
vi /etc/nginx/conf.d/default.conf 不要执行这一句:rm -rf /etc/nginx/conf.d/*
添加如下内容 :
server{ listen 80; server_name _; //这里填写你的域名 index index.php index.html index.htm; root /var/www/html; location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf;
//如果/etc/nginx/ 下没有fastcgi.conf,那么上面那一句(方法一)就不要,另外加上下面两句,方法二(适应于腾讯云6.5):
//fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
//include fastcgi_params;
} location / { try_files $uri $uri/ /index.php?$query_string; } }
说明: /var/www/html 为web根目录, 【location /】 ... 为url的rewrite,隐藏 index.php
2. 配置php-fpm
vi /etc/php-fpm.d/www.conf
将用户和用户组设置为nginx, 如:
#修改用户为nginx user = nginx #修改组为nginx group = nginx
开始测试
cd /var/www vi index.php
添加以下代码
<?php echo phpinfo(); ?>
:wq! 保存退出
#设置权限
chown nginx.nginx /var/www -R
#重启nginx
service nginx restart //(腾讯云6.5报错,说上面fastcgi.conf没找到:,请参考上面配置的方法二)
#重启php-fpm
service php-fpm restart
在客户端浏览器输入服务器IP地址(如: 127.0.0.1),可以看到相关的配置信息!
如果是虚拟机,则使用ifconfig获取虚拟机ip,在浏览器输入:虚拟机IP/index.php,可以看到相关的配置信息!
说明lnmp配置成功!