发表评论
系统环境:
Linux:Centos7.4 + Nginx1.8.0
一、创建data-www账号及data-www用户组用于部署php和nginx
groupadd data-www #创建用户组 useradd -d /home/data-www/ -g data-www data-www #创建www用户并指定工作空间和分组 usermod passwd data-www #设置密码
二、PHP安装:
1.更新linux的yum源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
2.如果之前已经安装php则需要先卸载
yum -y remove php*
3.使用yum命令安装php72w及各种扩展
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
4.配置php-fpm(此处user和group必须与nginx.conf中的user一致,否则会报Primary script unknown)
php-fpm是一个php-fastcgi的管理器,为PHP提供管理服务,即php-Fastcgi Process Manager。
vim /etc/php-fpm.d/www.conf #修改php-fpm配置user和group ; RPM: apache Choosed to be able to access some dir as httpd user = data-www ; RPM: Keep a group allowed to write in log dir. group = data-www #wq保存退出 php-fpm #启动php-fpm
5.查看是否启动
ps -aux|grep php-fpm
三、配置Nginx
Nginx本身不能处理PHP页面,它只是个web服务器,当接收到请求后,如果是PHP请求,通过反向代理的方式转发给PHP解释器(上文安装的php-fpm)处理,并把结果返回给客户端。
nginx.conf配置如下:
user data-www data-www; #注意此处和/etc/php-fpm.d/www.conf中的user和group要一致
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80 ;
# 域名,本地测试可以使用127.0.0.1或localhost
server_name www.zhangc.cn;
# php项目根目录
root /home/data-www/blog;
location / {
# 定义首页索引文件的名称
index index.php index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
# PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
# Fastcgi服务器和程序(PHP)沟通的协议.
location ~ .*\.php$ {
# 设置监听端口
fastcgi_pass 127.0.0.1:9000;
# 设置nginx的默认首页文件
fastcgi_index index.php;
# 设置脚本文件请求的路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 引入fastcgi的配置文件
include fastcgi_params;
}
}
}至此linux+php+nginx项目配置结束了,博主也是通过这个方式把zblogasp迁移到zblogphp的,有问题可以留言讨论~