nginx安装

Posted music378

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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://www.linuxidc.com/Linux/2015-11/125332.htm

[[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

四、简单的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;

}

}

}









































以上是关于nginx安装的主要内容,如果未能解决你的问题,请参考以下文章

nginx.conf 忽略了 nginx-ingress 配置映射片段

将 nginx rtmp 片段发送到 WebRTC

text 有用的nginx命令和片段

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

linux学习:Nginx--常见功能配置片段与优化-06

PHP代码-psysh调试代码片段工具