Centos7部署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)。

posted @   这是个佚名  阅读(385)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示