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

CentOS7安装配置Nginx1.8 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

2. 确认安装的php版本

 
1
# yum list --enablerepo=remi --enablerepo=remi-php56 | grep php

3. 安装php5.6

 
1
# yum install --enablerepo=remi --enablerepo=remi-php56 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.16 (cli) (built: Nov 26 2015 07:52:51)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
    with Xdebug v2.3.3, Copyright (c) 2002-2015, 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://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.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
20
server {
    listen 80;
    server_name linux.it.net.cn;
 
    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;
        include fastcgi.conf
        # 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;
    }
}

fastcgi.conf文件:

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
 
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;
 
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
 
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
 
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

比默认的fastcgi_params文件多了第一行。








(责任编辑:IT)