首页 > 系统相关 >Centos7部署php项目

Centos7部署php项目

时间:2023-10-11 15:56:29浏览次数:39  
标签:cgi index nginx 部署 Centos7 fpm PATH php

Centos7部署php项目

一、安装NGINX

添加nginx源

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

安装并启动nginx

yum install nginx
systemctl enable --now nginx    //启动

二、安装MySQL

安装并启动MySQL

yum install mariadb-server
systemctl enable --now mariadb

修改登录密码

mysqladmin -uroot password '密码'

登录数据库导入数据

三、安装PHP

安装php及扩展

yum install php php-mysql php-fpm php-mbstring php-gd php-pear php-mhash php-eaccelerator  php-cli php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mssql php-snmp php-soap php-tidy php-common php-devel php-pecl-xdebug phpmyadmin php-mcrypt -y

编辑/etc/php.ini文件,修改参数

cgi.fix_pathinfo=0

cgi.fix_pathinfo,是用来对设置cgi模式下为php是否提供绝对路径信息或PATH_INFO信息。没有这个参数之前PHP设置绝对路径PATH_TRANSLATED的值为SCRIPT_FILENAME,没有PATH_INFO值。设置cgi.fix_pathinfo=1后,cgi设置完整的路径信息PATH_TRANSLATED的值为SCRIPT_FILENAME,并且设置PATH_INFO信息;如果设为cgi.fix_pathinfo=0则只设置绝对路径PATH_TRANSLATED的值为SCRIPT_FILENAME。

编辑/etc/php-fpm.d/www.conf文件,修改参数

listen = /var/run/php-fpm/php-fpm.sock

使PHP-FPM使用Unix套接字,这避免了TCP的开销。默认情况下监听端口 9000 。

启动php-fpm服务

systemctl enable --now php-fpm

四、配置nginx站点

修改/etc/nginx/conf.d/default.conf文件,添加如下参数

server {
    listen       80;
    server_name  www.sange.com;    #需要修改客户端hosts文件
 
    root   /opt/data;    #PHP项目根路径
    index index.php index.html index.htm;
 
    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
 
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

重启nginx服务

systemctl restart nginx

五、项目测试部署

新建/opt/data/index.php文件,打开文件编辑,添加

<?php phpinfo()?>

浏览器访问www.sange.com,可以看到php各种配置信息则说明配置成功,如

img

如果需要客户端登录数据库,服务器的mysql需要设置允许远程登录功能,授予用户访问权限。当浏览器访问需要连接数据库时,默认情况下会遇到一个错误提示,那就是SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (13)。

标签:cgi,index,nginx,部署,Centos7,fpm,PATH,php
From: https://www.cnblogs.com/liwenlong-unix/p/17757365.html

相关文章

  • Kubernetes集群通过Helm部署skywalking及测试
     目录1.前言2.skywalking组件3.Helm部署步骤3.1安装包下载3.2修改配置3.3helm安装3.4访问方式4.制作skywalking-agent-sidecar镜像5.在deployment中应用skywalking-agent 1.前言本文主要介绍Kubernetes中如何用Helm3部署skywalking,并对pod应用进行链路......
  • tp5 php 阿里OS RequestCoreException: cURL error: SSL certificate problem: certif
    出现这种情况,肯定是域名SSL证书过期。现在出现问题:提交表单出现这种情况,网址不是https的,之前一直也没有问题,一开始想不通网址都不是HTTPS为什么还会有SSL证书的问题,检查了下发现上传中图片是上传到阿里OSS的(https://img.oss.xxx.com),里边就用到了HTTPS域名,原来是这样里,一查发现过......
  • CentOS 安装OpenStack Packstack 一键部署(二)
    运行Packstack一键部署工具packstack--allinone一键部署包安装指令,运行后一下输出结果 运行需要一定的时间,运行完后,Linux网卡虚拟网桥bre-ex是临时ip地址,需要生成配置文件cd/etc/sysconfig/network-scripts/lscpifcfg-ens33ifcfg-br-excatifcfg-br-ex......
  • 部署K3s/k8s和KubeSphere
    1.如何安装官方文档已经有详细的步骤,我就不赘述了1.1)Allinone环境安装参考:https://kubesphere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/1.2)边缘节点安装参考:https://kubesphere.io/zh/docs/v3.3/installing-on-linux/on-premises/install-kubesphere-and-k3s/ ......
  • PHP轻松进行无限级查询
    PHP是一种广泛使用的开源脚本语言,是网站开发中非常重要的一部分。在许多网站开发中,无限级分类结构是一个很普遍的需求。本文将介绍如何使用PHP轻松地进行无限级查询。一、什么是无限级分类?无限级分类是一种树状结构的分类方式,在网站中非常常见。例如,在一个商品分类的网站中,需要......
  • php教程:变量、数据类型、运算符、数据结构、条件判断、循环、函数和面向对象
    变量<?php$x=5;$y=6;$z=$x+$y;echo$z;?>变量作用域全局变量在所有函数外部定义的变量,拥有全局作用域。要在一个函数中访问一个全局变量,需要使用global关键字。<?php$x=5;$y=10;functionmyTest(){global$x,$y;$y=$x+$y;}myTest();echo$y;//输出1......
  • 将Vue3项目部署到Github Pages
    1.创建vue3项目$npminitvue@latest初始化工程,并验证。2.创建github仓库3.连接vue项目到github仓库打开vue项目根目录,初始化本地git仓库$gitinit$gitadd.$gitcommit-m"init"连接vue项目到第二步创建的github仓库$gitremoteaddoriginhttps://gith......
  • PHP 微信v3 敏感信息解密
    protectedstaticfunctiongetDecrypt($encrypted){$private_key=config('wx.merchantPrivateKeyFilePath');//商户私钥如果是路劲,可以使用file_get_content来获取$pi_key=openssl_pkey_get_private($private_key);//这个函数可用来判断私钥是......
  • PHP 微信v3 敏感信息加密
    protectedstaticfunctiongetEncrypt($str){$public_key=config('wx.platformCertificateFilePath');//平台证书,如果是地址,可以使用file_get_content来获取内容$pu_key=openssl_pkey_get_public($public_key);//这个函数可用来判断公钥是否是可......
  • VSTO自动更新部署方案
    dll部署ClickOnce部署很方便,但是没有版本倒退的功能。在实际的项目中,插件版本往往和数据版本有关联的,切换到指定的svn或git版本,希望也能有对应版本的插件功能。以svn版本控制为例,说明怎么使用dll部署。插件本体项目仍然采用ClickOnce部署的方式,不过可以不填远程Url,因为不存在插......