人们不是嘲笑你的梦想
他们嘲笑的是你的实力

CentOS7手动安装高版本Nginx+MySQL+PHP

安装Nginx:

新建repo源:

vi /etc/yum.repos.d/nginx.repo

配置nginx的yum仓库:

写入如下内容:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

保存,生成yum元数据信息

yum makecache 

然后就可以用yum来安装nginx了:

yum -y install nginx

安装成功后如图所示:

关闭防火墙和centos的安全机制:

systemctl stop firewalld && systemctl disable firewalld 
setenforce 0 
vim /etc/selinux/config 

修改如下内容:

SELINUX=enforcing ---->>> SELINUX=disabled

启动nginx服务,并设置开机自动启动

systemctl start nginx && systemctl enable nginx

打开浏览器输入ip地址,我们就能看到nginx默认的欢迎页面了!

安装MySQL:

新建repo源:

vi /etc/yum.repos.d/mysql-community.repo

写入如下内容:

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

保存,重新生成下yum元数据信息

yum clean all 
yum makecache

然后就可以用yum来安装mysql了:

yum -y install mysql-community-server

安装完成后如图所示:

启动服务:

systemctl start mysqld.service 

我们看一下初始密码:

grep 'password' /var/log/mysqld.log

输入如下命令:

mysqladmin -u root -p password

粘贴你之前复制的密码,然后回车,会提示让你设置一个新的密码,注意密码的复杂度要符合要求

重启MySQL:

systemctl restart mysqld

我们再登陆一次:

mysql -u root -p 

安装PHP:

安装EPEL源:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

安装webtatic源:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

这两个源安装完成后如图所示:

现在就可以使用yum来安装php了:

yum -y install php72w-fpm php72w-cli php72w-common php72w-gd php72w-mysqlnd php72w-odbc php72w-pdo php72w-pgsql php72w-xmlrpc php72w-xml php72w-mbstring php72w-opcache

注:更多安装包名(PHP组件)可以浏览:https://webtatic.com/packages/php72/

安装完成后如图所示:

设置开机自启:

启动:

systemctl start nginx
systemctl start mysqld
systemctl start php-fpm

设置开机自启动:

systemctl enable nginx
systemctl enable mysqld
systemctl enable php-fpm

查看当前Nginx/MySQL/PHP的运行状态:

systemctl status nginx
systemctl status mysqld
systemctl status php-fpm

确保都是如下三图的Actice状态:

Nginx运行正常:

MySQL运行正常:

PHP运行正常:

详细配置:

接着是PHP的一系列坑,首先用WinSCP以SFTP的方式登录到你的机器内。

找到如下路径:

/etc/php.ini

把这个php.ini下载到本地,然后用专业一点的编辑器打开,别用记事本!

推荐使用Sublime Text

首先要打开PHP的Pathinfo,在这个文件的762行,把前面的分号去掉:

接着我们装的这个PHP7.2有Session的问题,要修复一下。找到1264行,去掉分号:

然后回到Xshell中,用下面的命令新建一个session目录:

mkdir /var/lib/php/session

进入到/var/lib/php目录:

cd /var/lib/php

给刚新建的session目录777权限:

chmod -R 777 session

回到我们的电脑编辑器内,继续修改php.ini。

这次是进行一些PHP设置上的优化。首先是超时时间要改大一些,找到368行,将后面的值改为300:

接着是文件的上传大小,改大一点,方便日后使用。799行将后面的值改成一个你想要的:

POST提交的值也要改大一点,656行后面的值改成你想要的,建议就按我如图的值来设置:

确定上述我说的这些你都做完了后,保存php.ini,然后用WinSCP上传替换掉我们服务器内之前的php.ini:

回到Xshell中,重启PHP:

systemctl restart php-fpm

6、现在我们来验证一下我们装的这个LNMP环境大体是否正常:

编辑nginx默认的站点conf:

vi /etc/nginx/conf.d/default.conf

然后复制我的替换掉你们的:

server {
    listen       80;
    server_name localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.php index.html index.htm;
    }


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


    access_log /var/log/nginx/html.access.log main;
    error_log /var/log/nginx/html.error.log warn;


    error_page 404 /404.html;
    location = /404.html {
        root /usr/share/nginx/html;
    }


    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}

测试:

确定修改正确后,保存,然后进入到nginx的默认站点目录:

cd /usr/share/nginx/html

新建一个文件:

vi index.php

写入如下内容:

<?php phpinfo(); ?>

接着重启nginx:

systemctl restart nginx

然后在浏览器里输入我们的服务器ip并访问,能看到php测试页面就基本上是没问题了。

未经允许不得转载:四四的军火库 » CentOS7手动安装高版本Nginx+MySQL+PHP