nginx的牛逼之处就不用多说了,反正一个字:牛逼!

我很早之前在csdn上也写过一篇在Windows上安装nginx的文章,之前对它也是一知半解,也属于摸着石头过河吧,今天来看一下linux上的安装以及搭配php的使用。

我的机器是centos 6.2 。 php 版本是 5.4.11

安装nginx

如果软件下载失败或者被墙,可以下载我备份的云盘:

http://yunpan.cn/cZ2QJMSKVGsdU (提取码:06ec)

安装nginx的依赖包

nginx 依赖于 zlib pcre ssl 三个模块,安装之前要先安装它们,如果已经安装则忽略,我的机器其实在安装php的时候这些模块其实是有安装的,下面,我再来一次:

用源码方式安装:

这3个扩展 不需要指定安装目录,他们都默认安装在 /usr/local 目录下。

第一步,我将源代码统一下载到 /lamp 之下,基本上下载的都是最新版。openssl那个一定要下载最新版,以为之前的那个心跳漏洞。cd/lamp

wget http://zlib.net/zlib-1.2.8.tar.gz

tar-zxvf zlib-1.2.7.tar.gz

cd zlib-1.2.7

./configure

make

make install

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz

tar-zxvf pcre-8.21.tar.gz

cd pcre-8.21

./configure

make

make install

wget http://www.openssl.org/source/openssl-1.0.2.tar.gz

tar zxvf openssl-1.0.2.tar.gz

cd openssl-1.0.2.tar.gz

./config# 注意是config,不是configure

make

make install

好,如果没什么错误的话,3个扩展都已经安装好了,如果出现错误信息,基本都会有提示,我安装下载很顺利,没啥问题。

安装nginx

我同样也是下载的官网目前为止的最新版:nginx-1.7.10wget http://nginx.org/download/nginx-1.7.10.tar.gztar -zxvf nginx-1.7.10.tar.gzcd nginx-1.7.10.tar.gz

下载解压完成,下面就是编译了:./configure --prefix=/usr/local/nginx \--sbin-path=/usr/local/nginx/nginx \--conf-path=/usr/local/nginx/nginx.conf \--pid-path=/usr/local/nginx/nginx.pid \--with-http_ssl_module \--with-pcre=/lamp/pcre-8.32 \--with-zlib=/lamp/zlib-1.2.7 \--with-openssl=/lamp/openssl-1.0.2

注意:这3个扩展的目录是他们的源代码目录,不是安装目录,这点很容易搞错。--with-pcre=/lamp/pcre-8.32 \

--with-zlib=/lamp/zlib-1.2.7 \

--with-openssl=/lamp/openssl-1.0.2

开始编译:[root@localhost nginx-1.7.10.tar.gz] make ...[root@localhost nginx-1.7.10.tar.gz] make install

一般这3个扩展目录指定正确,是不会报错的,很顺利的就成功了。

启动 nginx

nginx的默认端口是80。所以启动之前要确保80端口没有被占用,如果之前安装过Apache, 它也是80端口,那么需要kill掉Apache,

如果想保留80端口,也可以修改/usr/local/nginx/nginx.conf中36行 listen 为 8080或其他;

我这里改成8080端口

启动命令是:/usr/local/nginx/nginx

不报错就ok了:

查看下端口:netstat -tnl|grep 8080tcp        0      0 0.0.0.0:8080        0.0.0.0:*       LISTEN

然后,我们打开浏览器访问下:localhost:8080

出现以下,表示nginx 安装成功。Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.

Commercial support is available at nginx.com.

Thank you for using nginx.

配置nginx以支持php

之前我们将了很多关于php-fpm的,现在php安装php-fpm其实就是为了配合nginx使用的。

所以,我们需要编辑nginx的配置文件,我们编译的时候指定了的:/usr/local/nginx/nginx.conf

打开后,编辑以下几行,我简单的标记了一下:43         location / { 44             root   /usr/local/www;   #web的根目录 45             index  index.php index.html index.htm; # 加入index.php 46         } 65         location ~ \.php$ { 66             root           /usr/local/www;          #web的根目录 67             fastcgi_pass   127.0.0.1:9000;          #php-fpm的地址 68             fastcgi_index  index.php; 70             include        fastcgi.conf; 71         }

简单的这样改一下,满足基本的php需求就可以了。下面我们重新启动一下nginx:

有2中方式,第1种是先kill,再启动。第2种是平滑启动,推荐第2种[root@localhost nginx]#ps-ef|grep nginx

root316601017:15?00:00:00nginx:master process./nginx

nobody3195431660017:52?00:00:00nginx:worker process

root3196815419017:52pts/300:00:00grep nginx

[root@localhost nginx]kill31660

[root@localhost nginx]/usr/local/nginx/nginx

或者平滑升级,推荐这个/usr/local/nginx/nginx -s reload

我们刚才把web目录改成 /usr/local/www 目录下,我们在下面新建一个index.php文件:vi/usr/local/www/index.php

echo phpinfo();

打开浏览器输入:127.0.0.1:8080/index.php

看到熟悉的 PHP Version 5.4.11 表示成功了。

开启自启动nginx

开机启动的配置文件是:/etc/rc.local ,vi加入 /usr/local/nginx/nginx 即可#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch/var/lock/subsys/local

/usr/local/apache/bin/apachectl start

/usr/local/bin/redis-server/etc/redis.conf

/usr/local/php/sbin/php-fpm

/usr/local/nginx/nginx

开启nginx的iptables限制

我们在本地访问127.0.0.1:8080/index.php,是可以打开的。 但是如果,在另外一台机子上访问:http://192.168.155.128:8080/index.php 不能访问,可能是这个8080端口号没有加入到iptables的白名单,所以需要加一下:

(PS: 如果你的nginx端口号是80,应该是已经在iptables白名单中了,如果能访问就不需要加了)

iptables的配置文件在这:/etc/sysconfig/iptables

我们vi 打开下,然后在倒数第二行上面加入:-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

这句话的意思是将8080端口号加入白名单,不做访问限制。# Firewall configuration written by system-config-firewall# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT

然后,重启下 iptables。service iptables restart

linux安装启动php-fpm,linux上nginx的安装启动以及配合php-fpm的使用相关推荐

  1. Mac系统重装 “未能安装在您的电脑上 没有符合安装资格的软件包” 具体解决方案

    在重装版本较旧的macOS或OS X时,在进行了漫长的系统下载过程之后会经历一个令人不解的提示 "未能安装在您的电脑上 没有符合安装资格的软件包-" 并且在屏幕下方会有 " ...

  2. Linux上Nginx的安装及使用(在线及离线安装)

    一.相关概念 ①nginx介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站 ...

  3. linux wireshark使用教程,技术|Ubuntu 上 Wireshark 的安装与使用

    在本教程中,你将学习如何在 Ubuntu 和其它基于 Ubuntu 的发行版上安装最新的 Wireshark.同时你也将学习如何在没有 sudo 的情况下来运行 Wireshark,以及如何设置它来进 ...

  4. linux系统外接硬盘_Mac的外置硬盘上如何去安装Linux系统

    原标题:Mac的外置硬盘上如何去安装Linux系统 相对于普通品牌电脑,更多人越来月喜欢苹果电脑,因为配置的关系,硬盘容量小,现在小编就教大家在外置硬盘中安装Linux的方法吧,有需要使用Linux系 ...

  5. Linux LNMP 环境的搭建之【Nginx的安装】

    Nginx 俄罗斯人开发的一款比较强劲的web服务器,静态页面html 单机在优化得当的情况下,能够达到3-4W的并发,是一款比较优秀的服务器软件,在国内,有Tengine[淘宝]开发的分支 ,关于T ...

  6. python安装方法mac_在Mac上删除自己安装的Python方法

    推荐使用 Homebrew 来安装第三方工具.自己安装的python散落在电脑各处,删除起来比较麻烦.今天在此记录一下删除的过程(本人以Python3.6为例). 删除Python 3.6 frame ...

  7. 通过离线安装anaconda环境解决服务器上的TensorFlow安装和cuda依赖问题

    通过anaconda离线安装解决服务器上的TensorFlow安装和cuda依赖问题 学校的主机只能通过校园VPN连接,不能连接外网,无法直接使用pip或者conda install安装Python依 ...

  8. python 安装xgboost_如何在macOS上为Python安装XGBoost?

    教程概述 本教程分为以下3个部分: 1.安装MacPorts: 2.构建XGBoost: 3.安装XGBoost. 注意:我在一系列不同的macOS版本上都是使用这个过程.本教程是在macOS Hig ...

  9. linux oel7没有网络,rhel7/oel7上修改默认内核启动顺序的方法

    rhel7和 rhel6的默认启动顺序的修改方法,不太一样,需要使用grub2来修改.具体如下, 比如想修改 Oracle Linux Server, with Linux 3.10.0-123.el ...

最新文章

  1. 基于Matlab的BP神经网络在语音特征信号识别中的应用
  2. 2012年A股可能再跌20%~30%
  3. 支付宝服务商子商户_支付宝服务商新功能,无需商家花钱的消费券怎么参与
  4. 期末考试前的预习,科目:化工设备与反应器(4)
  5. 12.1 Bootstrap介绍
  6. c语言随机生成int64_t类型的数据_手把手教你代码生成(上):MATLAB代码生成
  7. clone的fork与pthread_create创建线程有何不同pthread多线程编程的学习小结(转)
  8. centos7本地安装mysql数据库_在CentOS7系统上安装MySQL数据库
  9. larval 操作mysql数据库_laravel的数据库操作(三种)
  10. Linux批量部署无密钥脚本
  11. 优必选悟空智能机器人怎么读绘本_优必选发布悟空机器人及操作系统ROSA,关于估值这么回应…...
  12. PPT科研绘图:用PPT绘图,保存为eps并导入Latex
  13. IEEE802.3-2015 CL78 节能以太网(EEE)要点翻译
  14. 程序员七夕表白方法来了,带走!
  15. 【树莓派】配置树莓派防火墙
  16. 前端-查询参考资料网站/软件/移动端、jQuery开发插件官网
  17. 母牛的故事 1243ACM实验题
  18. Allow Arbitrary Loads in Web Content与Allow Arbitrary Loads配置
  19. 山东python编程培训,Python进入山东省小学教材了
  20. Ubuntu磁盘分区和内存查看

热门文章

  1. 工业机器人什么情况下会出现奇点_机器人奇点是什么?他们怎么会像黑洞一样?...
  2. P41 引用类型用法总结
  3. C语言基础 阶乘:输入一个数,输出它的阶乘。
  4. 尼尔机械纪元安卓机器人_尼尔机械纪元手机版
  5. java计算机毕业设计商店管理系统源码+数据库+系统+lw文档+mybatis+运行部署
  6. linux 查看硬盘使用率
  7. 计算机考研公共课考英语几,考研公共课考政治数学英语,专业课还要考几门
  8. 计算机组成原理-机器数、浮点数
  9. centos 查看内存大小 cpu 硬盘等信息
  10. 什么是BIO | NIO | AIO