视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
centos怎么部署php项目
2020-11-03 23:11:36 责编:小采
文档


centos怎么部署php项目?

CentOS 7部署PHP项目

目录

一、安装nginx(自动)

二、安装mysql

三、修改mysql登录密码

四、安装PHP及扩展

五、配置nginx站点

六、项目测试部署

写在前面:本文编辑服务器文件使用的是editplus工具

一、安装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

启动nginx服务

systemctl start nginx.service //启动
systemctl enable nginx.service //开机启动

测试访问,如果可以看到nginx欢迎界面则说明安装成功且能正常访问

二、安装mysql

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm //下载mysql源
rpm -ivh mysql-community-release-el7-5.noarch.rpm //安装mysql源
yum install mysql-community-server //安装mysql

启动mysql服务

systemctl start mysqld //启动
systemctl enable mysqld //开机启动
systemctl daemon-reload //开机启动

三、修改mysql登录密码

grep 'temporary password' /var/log/mysqld.log //查看临时生成的密码
mysql -uroot -p //使用临时密码登录
> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; //修改密码

四、安装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

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

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

启动php-fpm服务

systemctl start php-fpm //启动
systemctl enable php-fpm.service //开机启动

五、配置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/info.php文件,打开文件编辑,添加

<?php phpinfo()?>

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

当然,这只是为了测试一下环境而新建的一个简单php文件,当真正部署项目的时候,需要修改项目数据库配置文件中用户名跟密码,导入数据库操作。在这种情况下,如果需要客户端登录数据库,服务器的mysql需要设置允许远程登录功能,授予用户访问权限。当浏览器访问需要连接数据库时,默认情况下会遇到一个错误提示,那就是SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (13)。

问题:SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (13)

原因:SELinux 不让 httpd 访问

解决办法:

getsebool -a | grep httpd //查看httpd状态
setsebool httpd_can_network_connect 1 //允许外访问
systemctl restart mysqld.service //重启mysql服务

下载本文
显示全文
专题