/ PHP

CentOS 7 安装PHP开发环境

上一篇《Mac上使用VirtualBox虚拟CentOS》安装好了VirtualBox并在上面安装好CentOS7,LNMP环境就已经有了L。为了不那么折腾,这里都用yum进行安装,这里主要记录基本的安装,以及使用的yum源。

  1. PHP7&PHP-FPM
  2. Nginx 1.10+
  3. MySQL 5.7

安装PHP&PHP-FPM###

首先更新一下CentOS7系统,对系统软件做一下升级,这里不升级内核。

//使用root权限,注意这里使用upgrade,而不是update(它会升级内核,这里我们不需要)
yum upgrade 

我需安装最新的PHP,默认源安装的PHP版本是5.4左右,差不多已经过时了,这里先安装新的源。

//安装源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

//安装PHP和PHP-FPM
yum install php71w php71w-cli php71w-fpm
//安装相关扩展
yum install php71w-mbstring php71w-common 
yum install php71w-gd php71w-mcrypt
yum install php71w-mysql php71w-xml
yum install php71w-soap php71w-xmlrpc

安装Nginx###

Nginx是当下流行Web服务器软件,需要用它提供Web服务配置站点等。可选的还有Apache、Lighttpd等。

//安装nginx
yum install nginx
//启动nginx
systemctl start nginx
//使用systemctl设置开机启动
systemctl enable nginx

根据之前设置的网络,可以直接在Mac浏览器里面访问http://192.168.56.101:80看nginx是否已经启动。我发现并不能访问成功,这里是CentOS7的防火墙导致的,打开80端口

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

重试,显示nginx欢迎页面,Nginx设置成功。

安装MySQL###

MySQL是关系型数据库软件,用来存储数据。安装MySQL只需要简单的指令,最新版本是5.7所以先安装最新的源。

//安装MySQL源
yum install https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

//安装MySQL
yum install mysql-community-server

//启动MySQL
systemctl start mysqld
//设置开机启动
systemctl enable mysqld

//找到随机生成的密码
grep ''A temporary password is generated for root@localhost' /var/log/mysqld.log |tail -1
//执行下面的命令,设置MySQL(需要上面的密码)
mysql_secure_installation

使用mysql -uroot -p设置的密码连接成功,MySQL安装完成。

设置Nginx和PHP-FPM

我已经安装好需要程序,要想PHP请求被Nginx接收并转交给PHP-FPM再由PHP解释器执行返回结果,还需要做一些配置。

//启动PHP-FPM
systemctl start php-fpm
//设置开机启动
systemctl enable php-fpm

配置nginx站点:

vi /etc/nginx/conf.d/zkt.devnet.conf
//写入以下内容
server {
  listen        80;
  server_name   zkt.devnet;
  root          /data/www/zkt.devnet;
  index         index.php index.html;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

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

//重启Nginx
systemctl restart nginx

//在/data/www/zkt.devnet增加phpinfo.php文件写入以下内容
<?php 
  phpinfo();

因为这里配置了一个名为zkt.devnet的站点,在主机(我的Mac电脑)上是无法解析的域名,所以要设置一个host,打开Mac的/etc/hosts加入以下内容:

192.168.56.101 zkt.devnet

打开Mac的浏览器输入http://zkt.devnet/phpinfo.php就可以看到PHP的信息了。如果报403,说明没有权限,试着设置文件路径的权限chmod 777 -R /data/www/zkt.devnet.

如果设置之后还报File not found,那可能是SELinux限制了访问,修改相关配置关闭SELinux。

vi /etc/sysconfig/selinux
SELINUX=disabled
//重启系统
reboot

刷新浏览器,PHP信息的页面正常展示。 到此PHP环境就搭建OK了。

堃田

堃田

不要畏惧眼前的困难,克服它们就能获得成长和机会。

Read More