centos下安装nginx和php磨难记

为了能有一个完善的体验过程,我自己安装了一遍centos和nginx、php,中间出了不少问题,记事留念。

第1步当然就是安装Vmware,这没啥好说的,一步步next就好了;

第2步是新建一个虚拟机,并加载ios镜像安装Centos6.3,这个也没啥好说的,网上很多图文教程,

注1:分区时,我增加了一个/home区,而且我没安装gui图形环境,按base server进行的安装;

注2:安装完成后,我选择的网络模式是NAT,在VmWare的菜单“编辑”里有一个“虚拟网络编辑器”,选择NAT模式,确定即可,然后再打开宿主Windows机的本地连接属性,打开“允许其他网络用户通过此计算机的Internet连接来连接”,这样虚拟机就可以上网了;

注3:开启共享后,出了一个问题,就是Windows里的Cisco VPN客户端连接不上了,取消共享,就可以连接,连接上后,再开启共享也无效,只能二选一进行工作。

第3步,配置一些环境:

1、调整Shell分辨率(这一步可要可不要,后面我都通过终端访问) 命令行下输入:vim /boot/grub/grub.conf ,

在kenel这行最后面添加 vga=ask 这样每次重启都会询问分辨率,如果添加 vga=0x369,表示把终端分辨率 固定为1280*800

2、修改IP,因为Windows打开共享后,Nat网关IP是192.168.137.1,所以我把Centos的IP设置为192.168.137.8:

编辑对应的网卡配置文件,本机为ifcfg-eth0:
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
内容如下
DEVICE=eth0 #描述网卡对应的设备别名
BOOTPROTO=static #设置获得ip方式,可能的选项为static,dhcp或bootp
BROADCAST=192.168.137.255 #对应的子网广播地址
ONBOOT=yes
IPADDR=192.168.137.8    #设置网卡静态ip地址
NETMASK=255.255.255.0   #网卡对应的网络掩码
GATEWAY=192.168.137.1   #网关IP
DNS1=114.114.114.114    #DNS1的IP

修改完IP后,记得使用命令重启Centos网络,以便使IP生效

service network restart

好了,前面的准备工作完成,要开始部署环境了

第1步、模拟生产系统,添加了一个work账户,命令行如下:

useradd work

passwd work 这里回车后,会让你输入work账户的新密码,输入2遍

然后再把work用户加入sudoer

chmod u+w /etc/sudoers  首先设置sudoers文件可写
vim /etc/sudoers 打开sudoers文件进行编辑,在"root ALL=(ALL) ALL"下面添加"kiwi ALL=(ALL) ALL".
chmod u-w /etc/sudoers  撤消写权限

第2步、使用yum安装php 和 nginx php-fpm,命令行如下,按指示一步步确认:

yum install php

注:下一步,是设置源,否则无法yum安装nginx

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

yum install nginx

第3步、配置nginx的运行用户和web参数

nginx的配置文件位置: /etc/nginx/nginx.conf 首先移除配置文件里的include配置,

接着把user nginx修改为 user work,使用work用户执行nginx进程;

然后http配置节里的server配置如下:

server {
    listen       80;   # 监听端口
    server_name  localhost; # 主机头,如果只有一个server配置,这个主机头会忽略
    location / { # 默认路径指向
        root   /home/work/web; # 站点根目录
        index  index.html index.htm; # 站点的默认首页文件
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location ~ \.php$ { # php请求路径正则
        root    /home/work/web; # php请求的文件根目录
        fastcgi_pass   127.0.0.1:9000; # php-fpm的监听端口
        # 下一行的$document_root就是上面的root配置
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

注:如果不修改nginx的运行用户,那么在访问站点下的文件时,可能会报403错误。

奇怪的是,不改运行用户时,我用命令 chmod -R 777 /home/work/web 设置了最大权限,访问站点时依旧提示403错误,有大侠知道不?

第4步、配置php-fpm的运行用户:

php-fpm的配置文件位置: /etc/php-fpm.conf,里面有一句: include=/etc/php-fpm.d/*.conf

再打开包含的配置文件: /etc/php-fpm.d/www.conf,找到user=apache,把它改成user=work

注:如果不修改php-fpm的运行用户,那么在访问php文件时,会一直报:File not found 错误,同样我设置了目录的777权限也不行,坑啊

第5步、启动php-fpm服务和nginx服务:

service php-fpm restart

service nginx restart

好了,到这里配置全部完成了,在站点下放一个index.php文件,然后通过命令行:curl http://127.0.0.1/index.php访问一下试试吧。

时间: 2024-10-12 17:18:17

centos下安装nginx和php磨难记的相关文章

linux/centos下安装nginx(rpm安装和源码安装)详细步骤

Centos下安装nginx rpm包                                                                                                                            www.169it.com 1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/c

CentOS下安装Nginx并添加nginx_upload_module

安装前,最好能保证依赖的系统软件已经升级.    yum update CentOS上安装Nginx,如果只是简单安装,不附加其他第三方模块,一句话可以搞定:    yum install nginx 但是如果需要添加第三方的module则需要下载源码并重新编译安装了.(也可能有简单方法,本人不知,如果真有,还请路过的高人指点.) 我这里要添加两个第三方模块,用来作文件上传和上传进度条nginx_upload_module和nginx-upload-progress-module. 这里需要安装

Centos下安装nginx rpm包

1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 2 安装这个rpm包 rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm 安装过程中会出现错误提示: warning: nginx-

CentOS下安装Nginx

1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境.  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++  PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库.nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pc

如何在阿里云Centos下安装Nginx

Nginx("engine x")是一款轻量级的HTTP和反向代理服务器.相比于Apache.lighttpd等,它具有占有内存少.并发能力强.稳定性高等优势.它最常见的用途就是提供反向代理服务. 在Linux下我们需要下载Nginx的源代码包并且手动编译,而不是用包管理工具,例如Yum.Aptitude来安装.因为我们需要在编译时对Nginx进行配置,不得不手动编译,这样也就会依赖一些工具和库文件. 首先,需要安装C语言的编译环境,因为Nginx是C语言编写的.通常大多数Linux都

CentOS下安装Nginx服务器

一.nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos7作为安装环境. 1.1  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ 1.2  PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库.nginx的http模块使用pcre来解析正则表达式,所以需要在linu

centos 下安装nginx

Nginx是C写的,需要用GCC编译: Nginx的Rewrite和HTTP模块会用到PCRE: Nginx中的Gzip用到zlib: wget http://nginx.org/download/nginx-1.13.0.tar.gz tar -zxvf nginx-1.13.0.tar.gz ./configure make make install 默认的安装路径为:/usr/local/nginx 跳转到其目录下/usr/local/nginxsbin路径下: ./nginx ./ngi

阿里云Centos下安装nginx之后外网无法访问

centos 7.4 nginx1-14.0编译安装 curl 127.0.0.1 可以请求到 index.html curl local 可以请求到 index.html http://ip/ 无法访问 进入阿里云管理 ECS 实例,进入该实例安全组规则,默认没有 80 访问.添加安全组规则,将 80 端口设置为入站方向,暂时向所有 ip 开放(开发时),再次尝试通过 原文地址:https://www.cnblogs.com/cinlap/p/9075608.html

centOS 下安装Nginx,访问/data/www目录时出现file not found

1.首先确认有没有此文件 2.看看能不能访问.html如果能访问.html却不能访问.php,多半是没有配置Nginx如何解析php代码.去配置文件server块中把 location ~ \.php$ 前面的#去掉,如何重启Nginx即可. 重启Nginx sbin/nginx -s reload 还有其他问题:http://blog.csdn.net/buptwds/article/details/51647393 重启Nginx :http://www.cnblogs.com/derekc