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 源。

  1. 确认安装的php版本

1

# yum list | grep php

  1. 安装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 执行速度。

  1. 确认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。