nginx在CentOs下的安装及配置

前言:

先介绍一下nginx:

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

下面介绍具体的安装细节:

1、在安装nginx之前要安装好依赖和软件工具包:(如果系统存在工具包可忽略此步骤,可在命令行下输入命令测试命令是否可用)

(1)安装make:

# yum -y install gcc automake autoconf libtool make

(2)安装g++:

# yum install gcc gcc-c++

其他的比如tar等命令工具包没有的自行下载安装。

2、安装开发组和所依赖的软件包(开发工具、服务器平台开发)

#  yum groupinstall -y "Development Tools" "Server Platform Development"
   #  yum install -y openssl-devel pcre-devel

3、开始安装nginx:

首先添加用户nginx,实现以之运行nginx服务进程:

# groupadd -r nginx

# useradd -r -g nginx nginx

然后使用wget从网上直接下载nginx压缩包:

# yum install wget

# wget http://nginx.org/download/nginx-1.4.7.tar.gz

解压后,进行编译:先进入目录下

# tar xf nginx-1.4.7.tar.gz

# cd nginx-1.4.7

接着开始编译和安装:

# ./configure   --prefix=/usr   --sbin-path=/usr/sbin/nginx   --conf-path=/etc/nginx/nginx.conf   --error-log-path=/var/log/nginx/error.log   --http-log-path=/var/log/nginx/access.log   --pid-path=/var/run/nginx/nginx.pid    --lock-path=/var/lock/nginx.lock   --user=nginx   --group=nginx   --with-http_ssl_module   --with-http_flv_module   --with-http_stub_status_module   --with-http_gzip_static_module   --http-client-body-temp-path=/var/tmp/nginx/client/   --http-proxy-temp-path=/var/tmp/nginx/proxy/   --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi   --http-scgi-temp-path=/var/tmp/nginx/scgi   --with-pcre

然后:

# make && make install

4、为nginx提供SysV init脚本

新建文件/etc/rc.d/init.d/nginx,内容如下:

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse #               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/etc/nginx/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {
   # make required directories
   user=`nginx -V 2>&1 | grep "configure arguments:" | sed ‘s/[^*]*--user=
[]∗
.*/\1/g‘ -`
   options=`$nginx -V 2>&1 | grep ‘configure arguments:‘`
   for opt in $options; do
       if [ `echo $opt | grep ‘.*-temp-path‘` ]; then
           value=`echo $opt | cut -d "=" -f 2`
           if [ ! -d "$value" ]; then
               # echo "creating" $value
               mkdir -p $value && chown -R $user $value
           fi
       fi
   done
}

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest || return $?
    stop
    sleep 1
    start
}

reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}

force_reload() {
    restart
}

configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
       echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac

而后为此脚本赋予执行权限:

# chmod +x /etc/rc.d/init.d/nginx

添加至服务管理列表,并让其开机自动启动:

# chkconfig --add nginx

# chkconfig nginx on

5、加入环境变量并测试

# yum install vim
     # vim /etc/profile.d/nginx.sh
     export PATH=/usr/local/nginx/sbin/:$PATH

然后启动服务并测试:

# service nginx start

在网站输入服务器IP地址:http://172.16.16.173/

6、将php配置进人nginx中:

首先配置nginx的nginx.conf文件:

在终端下输入: # find / -name nginx.conf

找到nginx.conf的配置文件,利用vim进入修改:(如果没有vim的话  yum install vim进行下载安装)

然后在server里面加入如下内容:

location ~ \.php$ {
              root         /usr/html;
              fastcgi_pass   127.0.0.1:9000;
              fastcgi_index  index.php;
              fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
              include        fastcgi_params;
          }

黄色部分为web的存放的目录,在浏览器里可直接访问的。

还要注意的是:编译php时必须确保系统中拥有libxml2与libxml2-dev这俩个软件包,因为php默认会将xml的功能编译进去,所以xml的支持是必不可少的。

所以使用: # yum install libxml2

#  yum install libxml2-dev    下载安装好依赖包。

然后进入/usr/html的目录下,vim test1.php,进行编辑:

<?php
    echo "TEST BY STILL";
    phpinfo();
?>

重新启动nginx服务:

# service nginx restart

然后在浏览器里查看结果:

时间: 2024-11-23 11:28:19

nginx在CentOs下的安装及配置的相关文章

CentOS 下 redis 安装与配置

CentOS 下 redis 安装与配置 1.到官网上找到合适版本下载解压安装 Xml代码   [[email protected] src]# wget -c http://redis.googlecode.com/files/redis-2.4.7.tar.gz [[email protected] src]# tar -zxv -f redis-2.4.7.tar.gz [[email protected] src]# cd /usr/local/src/redis-2.4.7 [[ema

CentOS下JDK安装和配置

JDK安装和配置 第一步:安装JDK 1.下载jdk-1.8.0,rz到指定目录下 2.tar开 $>su centos ;cd ~ $>mkdir downloads $>cp jdk-1.8.0 ~\downloads $>tar -xzvf jdk-1.8.0 3.创建/soft文件夹,并移动tar开的文件到soft下 $>sudo mkdir /soft $>sudo chown centos:centos /soft    //更改目录的所属用户 $>m

nginx在centos下的安装

第一步:打开浏览器下载,再上传到centOS系统中 http://nginx.org/download/ 或者在 centOS系统输入: wget http://nginx.org/download/nginx-1.9.9.tar.gz 第二步:解压 tar -xvf nginx-1.9.9.tar.gz 第三步:配置 cd nginx-1.9.9 ./configure --with-stream --with-http_stub_status_module --with-http_ssl_m

Centos下MySQL安装与配置

一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱不得不首先推荐的是mysql数据库了,而且Mysql数据库的第一个版本就是发行在Linux系统上的. MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内

CentOS下OpenVPN安装、配置

安装OpenVPN的前提条件 在安装OpenVPN之前你必须确保你已经安装了C编译器(例如gcc).OpenSSL.LZO(一种无损压缩算法).PAM(一种可插入式的身份验证模块),安装方法就不用再说了. 安装Linux版OpenVPN 接着,我们使用tar命令,将该压缩文件解压到当前目录,完整命令为:tar zxf openvpn-2.3.3.tar.gz #调用configure ./configure #编译 make #安装 make install 配置防火墙规则以及IP转发 echo

Linux CentOS 下vsftp安装及配置相关操作

1.安装ftps——vsftpd: #yum install vsftpd 2.指定上传下载目录配置: 如:用户名:xxx,需指定目录:/xxx/xxx #useradd -d/xxx/xxx -s /sbin/nologin xxx #vi /etc/vsftpd/vsftp.conf chroot_local_user=YES       #将所有本地用户限制在自家目录中,NO则不限制.下面的指令是指出在所有本地用户中例外于本 指令规定的用户. chroot_list_enable=YES 

centos下vsftpd安装与配置

1.已经配置好可以上网了,所以即可通过yum install vsftpd安装啦.如果不能上网则可以通过dvd2.iso工具集rpm方式进行安装. 2.安装好后,默认本地可以通过匿名用户登录,但是其它电脑是不能访问.本文主要记录下允许匿名用户上传下载删除文件所做的些配置,主要需要做3大方面配置vsftpd本身.selinux和iptables 3.vsftpd方面有一个关键配置是anon_umask=022即设置上传的文件的权限,否则默认上传文件权限为600,那么上传的权限是不能被下载的. 4.

2015-07-17 Centos 下Zabbix安装与配置

zabbix安装配置 1 安装zabbix yum install -y epel-release 安装rpm包的lamp环境 yum install -y  httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring 安装zabbix服务端:yum install  zabbix20 zabbix20-agent zabbix20-server  zabbix20-server-mysql z

centOS下SVN安装和配置

1>SVN服务器端文件可见问题 在平时使用SVN时候,一直以为在客户提交文件,那么在服务器对应的版本库下面就会有相同文件.在自己搭建后,发现提交到服务器端文件完全看不见.... 这是由于SVN服务器端不是简单将上传的文件一个个存起来,而是采用特殊格式,按照内容增量方式存放,等于说每次文件修改commit,就会生成一个标志文件,而这个文件内只是记录了增加(删减)位置+增加(删减)内容: 2>安装 yum list subversion 查看软件列表中subversion yum -y insta