完美配置 CentOS+Nginx+MySQL+PHP(LNMP)网站环境
准备工作
配置防火墙,开启 80 端口、3306 端口、如需使用 SSH 还应开启 22 端口、使用 FTP 需开启 21 端口、如果网站使用 SSL 访问需开启 443 端口: 删除原有的 iptables , 添加合适的配置
rm -rf /etc/sysconfig/iptables
vi /etc/sysconfig/iptables添加如下内容 :
################################ 添加好之后防火墙规则如下所示 ################################
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 8080 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8081 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8082 -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
保存退出#重启系统
shutdown -r now安装第三方 yum 源
#安装下载工具
yum install wget
#下载
wget http://www.atomicorp.com/installers/atomic
#安装
sh ./atomic
#更新 yum 源
yum check-update
开始安装
一。安装 nginx
#删除系统自带的软件包
yum remove httpd* php*
#安装 nginx
yum install -y nginx
#设置 nginx 开机启动
chkconfig nginx on
#启动 nginx
service nginx start
二。安装 PHP
- 检查当前安装的 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.rpmCentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpmCentOs 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-xml.x86_64 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
- 安装 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,最后出现:Thanks for using MySQL!
MySql 密码设置完成,重新启动 MySQL:
#重启
/etc/init.d/mysqld restart
#停止
/etc/init.d/mysqld stop
#启动
/etc/init.d/mysqld start
配置
1. 配置 nginx
rm -rf /etc/nginx/conf.d/*
vi /etc/nginx/conf.d/default.conf
添加如下内容 :
server{
listen 80;
server_name _;
index index.php index.html index.htm;
root /var/www;
location ~ .*.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location / {
try\_files $uri $uri/ /index.php?$query\_string;
}
}
说明:
/var/www
为 web 根目录,location / ...
为 url 的 rewrite, 隐藏index.php
2. 配置 php-fpm
vi /etc/php-fpm.d/www.conf
将用户和用户组设置为 nginx, 默认为 Apache, 如:
#修改用户为 nginx
user = nginx
#修改组为 nginx
group = nginx
说明
启动命令:
nginx 重启 | 启动 | 停止
service nginx restart | start | stop
php-fpm 重启 | 启动 | 停止
service php-fpm restart | start | stop
mysql 重启 | 启动 | 停止
service mysqld restart | start | stop
一些文件的目录:
nginx.conf
/etc/nginx/nginx.conf
php.ini
/etc/php.ini
my.cnf
/etc/my.cnf
项目根目录
/var/www
开始测试
vi /var/www/index.php
添加以下代码
:wq!
保存退出
#设置权限
chown nginx.nginx /var/www -R
#重启 nginx
service nginx restart
#重启 php-fpm
service php-fpm restart
在客户端浏览器输入服务器 IP 地址 (如: 127.0.0.1),可以看到相关的配置信息! 说明 lnmp 配置成功!
本文参考自:点击进入