Centos6.5安装及简单配置nginx
一、准备事项
(1) 因为nginx需要访问80端口所以请先关闭或者开放防火墙端口,和selinux。
参考命令
关闭防火墙: [[email protected] ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT [[email protected] ~]# service iptables save 关闭selinux: [[email protected] ~]# setenforce 0 [[email protected] ~]# vim /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled |
(2) 如果用到域名请自行构建DNS服务
二、安装
(1) 因为nginx的运行需要安装pcre、zlib等软件包,因此我们进行安装
Pcre=Pcre Compatible Regular Expressions(中文pcre兼容正则表达式)
Yum配置请参考:http://liumingyuan.blog.51cto.com/9065923/1712824
[[email protected] ~] yum -y install pcre* zlib* #或者进行编译安装 [[email protected] ~]# useradd -M -s /sbin/nologin nginx #创建nginx服务 |
启动用户
(3) 编译安装nginx,下载地址:http://nginx.org/en/download.html 此次安装为最新稳定版nginx-1.8.0
[[email protected] ~]# tar zxf nginx-1.8.0.tar.gz [[email protected] ~]# cd nginx-1.8.0 [[email protected] nginx-1.8.0]# ls auto CHANGES.ru configure html Makefile objs src CHANGES conf contrib LICENSE man README [[email protected] nginx-1.8.0]# ./configure --user=nginx --group=nginx --prefix=/application/nginx-1.8.0 --with-http_stub_status_module --with-http_ssl_module #./configure –help 参数详解 [[email protected] nginx-1.8.0]# make [[email protected] nginx-1.8.0]# make install |
(4) 制作软连接
[[email protected] nginx-1.8.0]#ln –a /application/nginx-1.8.0/ /application/nginx |
(5) 基本使用
#语法检查 [[email protected] nginx-1.8.0]# /application/nginx/sbin/nginx –t nginx: the configuration file /application/nginx-1.8.0/conf/nginx.conf syntax is ok nginx: configuration file /application/nginx-1.8.0/conf/nginx.conf test is successful #启动服务 [[email protected] nginx-1.8.0]# /application/nginx/sbin/nginx #端口检查 [[email protected] nginx-1.8.0]# netstat –lnt #检查进程 [[email protected] nginx-1.8.0]# ps -ef | grep nginx #端口信息保存在 /application/nginx/logs/ nginx.pid 文件中 #通过端口查看占用进程 [[email protected] nginx-1.8.0]# lsof -i :80 #错误日志 /application/nginx/logs/error.log |
三、编写nginx服务脚本
为了方便使用习惯,通过server 来启动、关闭、开启、重载nginx服务所以我们来编
写nginx的服务脚本(自己编写的脚本仅供参考!)
[[email protected] ~]# vim /etc/init.d/nginx
#!/bin/bash #chkconfig: - 99 20 #description:Nginx Server Contorl Script PROG="/application/nginx/sbin/nginx" PIDF="/application/nginx/logs/nginx.pid" ok=`echo -e "\e[1;31m [ok] \e[0m"` no=`echo -e "\e[1;31m [no] \e[0m"` detection=`/application/nginx/sbin/nginx -t 2>&1` screen_1=`echo $detection | awk ‘{print $6,$7,$8}‘` screen_2=`echo $detection | awk ‘{print $13,$14,$15}‘` if [ "$screen_1" = "syntax is ok" ] && [ "$screen_2" = "test is successful" ]; then case "$1" in start) $PROG echo "Nginx Is starting state $ok" ;; stop) kill -s QUIT $(cat $PIDF) echo "Nginx Is closing state $ok" ;; restart) $0 stop $0 start echo "Nginx Is to restart state $ok" ;; reload) kill -s HUP $(cat $PIDF) echo "Nginx Is overloaded state $ok" ;; *) echo "Usage: $0 (start|stop|restart|reload)" exit 1 esac else echo "Nginx check state $no " echo "Please check the configuration file" echo "$detection" fi exit 0 |
[[email protected] ~]# chmod +x /etc/init.d/nginx [[email protected] ~]# chkconfig –add nginx #添加为系统服务 [[email protected] ~]# chkconfig nginx on |
四、简单的nginx web站点
Nginx的默认站点目录,是安装目录下的html这里是(/application/nginx/html)
在主配置文件/application/nginx/conf/nginx.conf 中查看,对于重新部署web页面
只需将/application/nginx/html/中的index.html替换即可
主配置文件讲解
[[email protected] ~]# egrep -v "#|^$" /application/nginx/conf/nginx.conf worker_processes 1; #指定Nginx开启的进程数 events { #设定Nginx的工作模式及连接数上线 worker_connections 1024; } http { include mime.types; #主模块命令,实现对配置文件所有包含文件的设置 default_type application/octet-stream; #属于http核心模块命令,这里设 置类型为二进制流,也就是当文件类型未定义时使用这种方式,例如,没有配置PHP 环境时,nginx是不给予解析的,此时,用浏览器访问PHP文件就会出现下载窗口。 sendfile on; #用于高效文件传输模式 keepalive_timeout 65; 设置客户端请求头文件读取超时时间,如果超过这个时 间服务器会关闭该连接。 server { #定义虚拟主机开始的关键字 listen 80; #用于指定虚拟主机的服务端口 server_name localhost; 用于指定ip地址或者域名,多个域名用空格隔开 location / { root html; index index.html index.htm; #用于设定访问的默认首页 } error_page 500 502 503 504 /50x.html;# 静态页面重定向服务器错误 页面,例如携程的网站崩溃出现的页面 location = /50x.html { root html; } } } |
过两天将会发出LNMP和高级配置及调优