> CentOS > CentOS服务器 > 环境配置 >

CentOS7安装配置Nginx1.10 PHP5.6 MySQL5.7

安装Nginx

1.建立nginx的yum仓库

 
1
# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

http://nginx.org/en/linux_packages.html

2.下载并安装nginx

 
1
# yum install nginx

3.启动nginx服务

 
1
# systemctl start nginx

4.测试和配置

访问IP地址,出现nginx欢迎界面。

默认的配置文件在/etc/nginx路径下,使用该配置已经可以正确地运行nginx;如需要自定义,修改其下的 nginx.conf 等文件即可。

安装php5.6

1. 配置yum源

 
1
2
3
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
 
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

remi 源默认并没有启用,可以通过修改 repo  文件来启用它。

 
1
vi /etc/yum.repos.d/remi.repo

 

 
1
2
3
4
5
6
7
[remi]
......
enabled=1
 
[remi-php56]
......
enabled=1

如果需要安装 php 7,请编辑 /etc/yum.repos.d/remi-php70.repo 启用相应 yum 源。

2. 确认安装的php版本

 
1
# yum list | grep php

3. 安装php5.6

 
1
# yum install php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common

上面这条命令安装了一大堆东西,实际请按需安装。启用 php-opcache 及 php-pecl-apcu 能有效的提高 php 执行速度。

4. 确认php版本

 
1
2
3
4
5
6
# php -v
PHP 5.6.22 (cli) (built: May 26 2016 15:36:45)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans

5.配置php.ini

 
1
# vi /etc/php.ini

理论上配置一下时区就够了:

 
1
date.timezone = Asia/Chongqing

6.配置php-fpm

 
1
vi /etc/php-fpm.d/www.conf

修改以下位置:

 
1
2
3
4
5
6
7
8
9
; 配置php所属用户
user = nginx
group = nginx
 
listen.owner = nginx
listen.group = nginx
 
; 通过sock方式通信
listen = /var/run/php-fpm/php-fpm.sock

7.启动php

 
1
# systemctl start php-fpm

 

安装MySQL5.7

1.配置yum源

 
1
# rpm -Uvh http://repo.mysql.com/mysql57-community-release-el7.rpm

其他所有 rpm 文件可以在这里找到:http://repo.mysql.com/

如果你需要安装 MySQL5.6

 
1
rpm -ivh http://repo.mysql.com/mysql-community-release-el7.rpm

2.安装mysql

 
1
# yum install mysql-community-server

3.启动mysql

 
1
# systemctl start mysql

4.查看默认密码

MySQL安装之后默认root密码不是为空了,会生成一个随机密码保存在root目录下。

 
1
# cat /root/.mysql_secret

如果没有找到文件,可以查看MySQL的日志文件:

 
1
2
3
cat /var/log/mysqld.log
 
# [Note]  A temporary password is generated for root@localhost: ******

5.登录mysql

 
1
mysql -u root -p

输入前面查看到的密码。

6.修改root默认密码

现在mysql有密码强度验证,需要输入一个强一点的密码。

 
1
mysql> set password=password('NEWPASSWORD');

或者:

 
1
update mysql.user set authentication_string=password('NEWPASSWORD') where user='root';

现在已经没有password字段了。

7.配置文件

mysql的默认配置文件在/etc/my.cnf。

如果忘记密码,可以在最后添加一句skip-grant-tables,重启mysql之后登录就不需要账号密码了,然后再修改root密码。

如何正确配置Nginx+PHP

网上有一篇介绍 Nginx 配置 PHP 的文章,感觉挺不错的,下面就是他最后给出的配置模版。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
    listen 80;
    server_name blog.kuoruan.com;
 
    root /path;
    index index.html index.htm index.php;
 
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
 
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        # fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    }
}

 

Nginx和PHP的安全性讨论

在上面的设置中,我将 Nginx 和 php-fpm 的运行用户都设置成为了 Nginx ,在这个情况下,如果网站目录的所有者也是 Nginx 的话,就会出现安全性问题。所以推荐将 Nginx 和 php-fpm 的用户都设置为 nobody。

详细说明可以看这篇文章:正确设置nginx/php-fpm/apache权限 提高网站安全性 防止被挂木马

(责任编辑:IT)