CentOS7手动安装高版本Nginx+MySQL+PHP
CentOS7手动安装高版本Nginx+MySQL+PHP
Riv3n安装Nginx:
新建repo源:
1 | vi /etc/yum.repos.d/nginx.repo |
配置nginx的yum仓库:
写入如下内容:
1 | [nginx] |
保存,生成yum元数据信息
1 | yum makecache |
然后就可以用yum来安装nginx了:
1 | yum -y install nginx |
安装成功后如图所示:
关闭防火墙和centos的安全机制:
1 | systemctl stop firewalld && systemctl disable firewalld |
修改如下内容:
SELINUX=enforcing —->>> SELINUX=disabled
启动nginx服务,并设置开机自动启动
1 | systemctl start nginx && systemctl enable nginx |
打开浏览器输入ip地址,我们就能看到nginx默认的欢迎页面了!
安装MySQL:
新建repo源:
1 | vi /etc/yum.repos.d/mysql-community.repo |
写入如下内容:
1 | [mysql57-community] |
保存,重新生成下yum元数据信息
1 | yum clean all |
然后就可以用yum来安装mysql了:
1 | yum -y install mysql-community-server |
安装完成后如图所示:
启动服务:
1 | systemctl start mysqld.service |
我们看一下初始密码:
1 | grep 'password' /var/log/mysqld.log |
输入如下命令:
1 | mysqladmin -u root -p password |
粘贴你之前复制的密码,然后回车,会提示让你设置一个新的密码,注意密码的复杂度要符合要求
重启MySQL:
1 | systemctl restart mysqld |
我们再登陆一次:
1 | mysql -u root -p |
安装PHP:
安装EPEL源:
1 | rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm |
安装webtatic源:
1 | rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm |
这两个源安装完成后如图所示:
现在就可以使用yum来安装php了:
1 | 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/
安装完成后如图所示:
设置开机自启:
启动:
1 | systemctl start nginx |
设置开机自启动:
1 | systemctl enable nginx |
查看当前Nginx/MySQL/PHP的运行状态:
1 | systemctl status nginx |
确保都是如下三图的Actice状态:
Nginx运行正常:
MySQL运行正常:
PHP运行正常:
详细配置:
接着是PHP的一系列坑,首先用WinSCP以SFTP的方式登录到你的机器内。
找到如下路径:
/etc/php.ini
把这个php.ini下载到本地,然后用专业一点的编辑器打开,别用记事本!
推荐使用Sublime Text
首先要打开PHP的Pathinfo,在这个文件的762行,把前面的分号去掉:
接着我们装的这个PHP7.2有Session的问题,要修复一下。找到1264行,去掉分号:
然后回到Xshell中,用下面的命令新建一个session目录:
1 | mkdir /var/lib/php/session |
进入到/var/lib/php目录:
1 | cd /var/lib/php |
给刚新建的session目录777权限:
1 | chmod -R 777 session |
回到我们的电脑编辑器内,继续修改php.ini。
这次是进行一些PHP设置上的优化。首先是超时时间要改大一些,找到368行,将后面的值改为300:
接着是文件的上传大小,改大一点,方便日后使用。799行将后面的值改成一个你想要的:
POST提交的值也要改大一点,656行后面的值改成你想要的,建议就按我如图的值来设置:
确定上述我说的这些你都做完了后,保存php.ini,然后用WinSCP上传替换掉我们服务器内之前的php.ini:
回到Xshell中,重启PHP:
1 | systemctl restart php-fpm |
6、现在我们来验证一下我们装的这个LNMP环境大体是否正常:
编辑nginx默认的站点conf:
1 | vi /etc/nginx/conf.d/default.conf |
然后复制我的替换掉你们的:
1 | server { |
测试:
确定修改正确后,保存,然后进入到nginx的默认站点目录:
1 | cd /usr/share/nginx/html |
新建一个文件:
1 | vi index.php |
写入如下内容:
1 | <?php phpinfo(); ?> |
接着重启nginx:
1 | systemctl restart nginx |
然后在浏览器里输入我们的服务器ip并访问,能看到php测试页面就基本上是没问题了。