Hi,为确保您的账号安全,请大家修改登陆密码为包含大小写字母、标点、数字的复合密码,不要使用过于简单的登陆密码。
您当前的位置:首页 :: CentOS

CentOS7下安装Nginx(nginx/1.12.0)+php(5.6.30)+myql(5.7)环境搭建

时间:2017-06-02 16:41:57  来源:  作者:

最近新买了一台服务器准安装LNMP环境,该文章适合菜鸟或新手,大神请勿喷,本文说的都是安装最新版的,不一定非要安装本文的版本,其他版也同样。


在安装之前我们先做一下准备工作,首先说说安装顺序问题,我的安装顺序是mysql->php->nginx,当然这个顺序并不强烈邀请,不过按我的这个顺序免得出现意向不到的错误。



一,安装mysql
安装mysql我们是采用官网给的yum安装源安装方法,这样可以省去软件依赖的安装
首先我们打开mysql官网给的yump安装源 http://repo.mysql.com/

可以看到这样的内容,下面说一下,具体的怎么选择,我就拿这个地址来说
http://repo.mysql.com/mysql-apt-config_0.3.5-1debian7_all.deb
“.deb” 这是ubuntu或debian系统的安装包 “.rpm”是centos或redhat系统的安装包,根据自己的系统选择

下面是知识补充,说一下,Linux软件包命名规则,如下这个软件包
mysql57-community-release-el7-9.noarch.rpm
mysql57-community:软件名称
release:软件包版本 release:发行版 beta:测试版 Alpha:内部测试版 等
el7-9:版本号 el7:表示RHEL(Red Hat Enterprise Linux)/Centos 7.9 简称EL ,fc25:表示Fedora 25 这个版本
noarch: 任何平台都可以安装使用 比如有的是i386(32位) X86_64(64位)

devel:表示开发包或源码包

那知道上面的规则就好办了,我的系统是Centos 7 所以我选择的版本是
http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm

下载安装源:

wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm

安装安装源:

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

安装mysql

yum install mysql-server

这个可以看到要下载的mysql的版本号是多少,确认没有问题后直接安装就行
那么问题来了,既然在安装过程中并没有弹出提示要求输入用户名与密码

OK,我们来修改一下密码打开数据库配置文件 /etc/my.cnf 在[mysqld]加入skip-grant-tables=1
重启数据库

service mysqld restart

然后不需要用户名就可以直接登录数据了

mysql -uroot

直接使用如下命令

mysql> update mysql.user set authentication_string=password('123abc') where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

完成后,退出,然后去掉配置文件里的skip-grant-tables=1重启数据库
使用上面修改的密码是否可以正常登录。答案如果没有报错,应该是可的!

到这里mysql也就安装好了。

 

二,安装PHP
知识补充关于php-fpm
nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。
nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。
PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。所以已经不需要另外下载了。

获取PHP下载地址
为什么选择5.6.30这个版本,因为学习,不是研究。诚然,7.0新增了很多PHP的新特性,性能上面也有些提升,如果是研究,倒是可以折腾一番,后面得空再讲7.0的版本以及如何在各个PHP版本之间切换。
打开php的官网:http://php.net/,查看php的版本列表

Linux安装PHP_01.png
图1

下载PHP
http://php.net/downloads.php
这里有7.0的与5.6.30的版本如上图,我们选择.tar.gz的这个点进去,选一个节点,我们选择China的地址如下
http://cn2.php.net/get/php-5.6.30.tar.gz/from/this/mirror

下载

wget http://cn2.php.net/get/php-5.6.30.tar.gz/from/this/mirror

重命名

mv mirror php-5.6.30.tar.gz

解压

tar zxvf php-5.6.30.tar.gz

进入解压后目录

cd php-5.6.30

我们需要在安装的时候将安装目录配置到/usr/local/php/里

#./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-MySQL --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

上面就是些基本的参数配置和要加载的功能及模块安装路径等,保持默认就行

配置的过程中可能会报如下错误

xml2-config not found. Please check your libxml2 installation.

解决办法 安装libxml2相关组件

yum install libxml2 libxml2-devel

上面安装好后继续配置
如出现如下错误提示:

Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/

安装curl相关组件

yum install curl curl-devel

 

出错提示:

configure: error: png.h not found.

安装libpng相关组件

yum install libpng libpng-devel

出错提示:

freetype-config not found.

安装freetype相关组件

yum install freetype-devel

出错提示:

xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

安装libxslt相关组件

yum install libxslt-devel

好的,当我们看到下面这句话的时候,说明你的php已经配置完成啦!

Linux安装PHP_02.png
图2

接下来我们只需要编译安装即可完成php的安装
make && make install
看到这句话,表明安装完成!

Linux安装PHP_03.png
图3
为了保险起见,我们make test一把,看看是否真的成功了。

上面虽然安装好了,但是要想方便的使用我们还得按规矩配置一翻


配置相关
php.ini配置
首先我们需要配置的是php.ini这个文件
安装目录有2个文件:php.ini-development和php.ini-production
php.ini-production 线上版本使用
php.ini-development 开发版本使用
我们选择development进行配置 当然如果的线上正式环境就使用正式的那个配置文件

cp php.ini-development /usr/local/php/lib/php.ini

php-fpm配置
拷贝php-fpm配置文件

cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

复制php-fpm到系统启动目录下 这里要注意一下使用源码包里给定好的,不要直接使用那个里的直接启动文件

cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

将php-fpm服务添加到chkconfig列表

chkconfig --add php-fpm

设置开机自启动

chkconfig php-fpm on

以后重启和停止php的方式为

service php-fpm start
service php-fpm stop
service php-fpm restart
service php-fpm reload

好现在php已经安装好了,那么下面来安装nginx

三,安装nginx

Nginx的历史不在此赘述,轻量,快是它的特性。只是因为现在的模块没有达到apache的模块数量级,未来有超越apache的势头。
nginx和mysql一样官网都给出了安装源,这有这个就方便了很多
下安rpm安装源

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

安装安装源

rpn -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装nginx

yum install nginx 

关于编写nginx配置文件
配置文件的路径是 /etc/nginx/nginx.conf

下在我们配置一个使nginx能与php接合使用
打开/etc/nginx/conf.d/default.conf 以前老的版本不定是这个路径,ubuntu和debian的路径也不是这个,这里你得进到对应的目录里查看
在server里面最开启PHP接合
主要是将

    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

前面的#去了,然后把 /scprits$fastcgi_script_name; 里的/scripts改成$document_root

    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

保存

最后就是配置一个ngixn多虚拟机,
然后再确定nginx ,php-fpm 与目录的权限及用户要一直。

举报
收藏0次 / 评论0
评论(0)
还可以输入 2000 个字符
还可以输入 2000 个字符
取消回复
举报×

还可以输入 264 字符

收藏(0)×