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

启动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服务

转载请注明本文链接:https://blog.weixiaoline.com/48.html

发表评论

您的电子邮箱地址不会被公开。