nginxforwindows是一款轻量级的WEB反向服务器。软件占用内存少、并发能力强,以windows系统的思路来看这款软件的话可以把他当作IIS,当然web发布等iis的功能它也全部具备,在linux系统下nginx是相当的稳定,因为是开源模式,通过添加代码可以达到各种效果。
软件介绍
Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向服务器及电子邮件(IMAP/POP3)服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、 腾讯等。
nginx安装配置教程
安装要求的环境
下面的环境需要视自己的系统情况而定,没有的环境安装以下就好。
1.需要安装gcc环境
# yum install gcc-c++
2.第三方的开发包
1 PERE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。
nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
# yum install -y pcre pcre-devel
2 zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
# yum install -y zlib zlib-devel
3 openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,
并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
# yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
3 nginx安装过程
1 把nginx源码包上传到linux系统上
2 解压到/usr/local下面
# tar -xvf nginx-1.14.0.tar.gz -C /usr/local
3 使用cofigure命令创建一个makeFile文件
执行下面的命令的时候,一定要进入到nginx-1.14.0目录里面去。
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \--with-http_stub_status_module \--with-http_ssl_module \--with-file-aio \--with-http_realip_module
如果没有makeFile文件,编译的时候会报错
\ 表示命令还没有输入完,换行的意思。
--prefix=/usr/local/nginx 表示软件安装到/usr/local/nginx下面。这个make install 的时候就不用在指定安装路径。执行完成后查看目录里面已经多了一个Makefile文件
注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,
需要在/var下创建temp及nginx目
4 创建目录/var/temp/nginx/
# mkdir /var/temp/nginx -p
-p 表示级联创建的意思
5 进入nginx-1.14.0里面执行make命令进行编译
6 进入nginx-1.14.0里面执行make install 命令进行安装
这里不需要再次执行安装路径,创建makefile文件的时候已经指定了。
7 进入安装位置/usr/local/nginx查看目录结构
其中html是里面首页html文件。conf里面是配置文件。sbin里面只执行文件。
3 启动nginx
进入sbin目录,执行命令./nginx
[root@admin sbin]# ./nginx
4 查看nginx是否启动
[root@admin sbin]# ps -aux | grep nginx
ps命令用于报告当前系统的进程状态。
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。
5 关闭nginx
[root@admin sbin]# ./nginx -s stop
或者
[root@admin sbin]# ./nginx -s quit
6 重启nginx
先关闭,然后启动
7 刷新配置文件
[root@admin sbin]# ./nginx -s reload
8 关闭防火墙,开启远程访问
首先需要关闭防火墙:默认端口是80
方法一:永久开放80端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/rc.d/init.d/iptables save
方法二:临时关闭系统防火墙
# service iptables stop
方法三:永久关闭修改配置开机不启动防火墙
# chkconfig iptables off
特殊:针对阿里云
需要添加安全组规则
9 访问nginx
10 配置虚拟主机
就是在一台服务器启动多个网站。
如何区分不同的网站:主要有以下两种方式
方式一:端口不同
方式二:域名不同
使用方法
一、双击nginx.exe图标,可见黑窗口一闪而过,启动完毕。
二、命令行到nginx目录,输入nginx启动。(注,此方式命令行窗口无任何提示,且被锁定)
三、命令行到nginx目录,输入start nginx启动,此方式不锁定
启动后,默认情况下(无修改配置),可见到有两个nginx的进程,1个是master process,1个是worker processes。
如果你在配置中配置2个worker_processes,进程中就可以看到1个是master process,2个是worker processes。
测试
默认nginx部署了些静态内容,我们可通过它测试nginx是否在工作。
默认的配置文件(NGINX_HOME/conf/nginx.conf)如下:
通过观察配置文件的非注释项,大概可知:
1、启动了1个worker processes
2、worker_connections,最大并发数为1024
3、include mime.types,引入mime.types文件所声明的文件扩展名与文件类型映射
4、application/octet-stream,默认使用application/octet-stream
5、sendfile,开启高效文件传输模式
6、本机“localhost”的80端口
7、映射目录为“当前目录的html目录”
8、出现500、502、503、504错误,则映射到50x.html
浏览地址http://localhost,即可访问其默认页面,即映射到NGINX_HOME/html/index.html
其他静态内容,如html、图片,可自行添加测试。
4. 日志
日志默认位于NGINX_HOME/logs/,可见:
1、access.log,访问日志
2、error.log,异常日志
3、nginx.pid,进程(仅在启动nginx后才有此日志)
更新日志
1、问题修复
2、提高稳定性
∨ 展开