CentOs7搭建nginx+PHP环境

admin
2021-05-12
21

CentOs7

nginx+PHP

1.一键安装所有编译工具 gcc


yum groupinstall "Development Tools" "Server Platform Development" -y 


2.Yum添加 Epel源


wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -ivh epel-release-latest-7.noarch.rpm

yum repolist      ##检查是否已添加至源列表


3.安装Nginx


yum -y install nginx   使用yum安装nginx

systemctl start nginx  启动nginx,浏览器输入ip就可以看到nginx的欢迎页

以上步骤都不能安装后,建议查看http://nginx.org/en/linux_packages.html#RHEL-CentOS


3.1修改Nginx配置文件以支持PHP解析

nginx配置文件默认放在/etc/nginx/nginx.conf


vi /etc/nginx/nginx.conf


在server区间里加入以下内容

注释掉本来的这两行 

  


      # location / { 

        #  } 

 location / { 

        root   /usr/share/nginx/html; 

        index  index.php index.html index.htm; 

    } 

  location ~ \.php$ { 

         root           html; 

         fastcgi_pass   127.0.0.1:9000; 

         fastcgi_index  index.php; 

         fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name; 

         include        fastcgi_params; 

     } 


systemctl restart nginx #重启nginx


默认的nginx页面地址在



/usr/share/nginx/html


配置文件的目录



/etc/nginx




4.安装PHP

检查当前安装的PHP包

   


 yum list installed | grep php



如果有安装的PHP包,先删除他们

(这条命令看情况执行看清楚你安装的包用yum remove删除)

 


yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_643



4.1 添加PHP的yum源

Centos 5.X


rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm



CentOs 6.x


  rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm



  CentOs 7.X



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

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



或者使用wget


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

rpm -ivh epel-release.rpm



注意如果安装的时候失败,后面添加两个参数 --nodeps --force,如下所示



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



如果想删除上面安装的Yum源包,重新安装


rpm -qa | grep webstatic

rpm -e  #上面搜索到的包即可


4.2自行选择要安装什么版本的PHP


php5.6

yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64


php5.5

yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64


php7

    yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64


4.3安装PHP-FPM


5.5

yum install php55w-fpm 

5.6

yum install php56w-fpm 

7.0

yum install php70w-fpm



4.4启动php-fpm



systemctl start php-fpm 



4.5配置php.ini



vi /etc/php.ini 



按下esc进入命令模式,输入:/cgi.fix_pathinfo,按n

进行下一个查找,找到指定cgi.fix_pathinfo, 修改为=0;


5.mysql安装


6.如果有防火墙 要开放80和3306端口

centos7用的是firewall



firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=3306/tcp --permanent



6.1重新加载防火墙



firewall-cmd --reload



7.检查php版本



php -v



8.重启apach或者nginx



Apache:


[root@localhost ~]# systemctl restart httpd.service

ngingx:


[root@localhost ~]# systemctl restart nginx.service



9.常用命令


启动nginx



systemctl start nginx



查看nginx运行状态



systemctl status nginx



查看nginx进程



ps aux | grep nginx



语法检测



nginx -t



重启



systemctl reload nginx



查看端口



netstat -anlpt | grep 80



10.防火墙,nginx启动后用ip去访问如果无法访问就是和防火墙有关系

10.1使用命令查看



systemctl status firewalld



10.2.开启防火墙



systemctl start firewalld.service



10.3.重启防火墙



systemctl restart firewalld.service



10.4.查看firewall防火墙的状态



firewall-cmd --state



10.5.查看防火墙开放端口规则



firewall-cmd --list-port



10.6.查看80端口是否开启



firewall-cmd --query-port=80/tcp



10.7.开放80端口



firewall-cmd --permanent --add-port=80/tcp  #(–permanent永久生效,没有此参数重启后就失效)



10.8.加载生效开放的端口

每次修改防火墙,或者修改端口都需要用下面的命令重启防火墙



firewall-cmd --reload



10.9.查询指定端口80是否开放



firewall-cmd --query-port=80/tcp


11.测试php环境是否运行正常

进入到项目文件目录



cd /usr/share/nginx/html



创建index.php文件



touch index.php



编写index.php文件



vi index.php



输入代码



<?php

echo phpinfo();

?>