Nginx是一款开源的高性能HTTP服务器和返向代理服务器。
下载、编译、安装模块:
[root@localhost nginx-1.4.0]#wget http://nginx.org/download/nginx-1.4.0.tar.gz
[root@localhost nginx-1.4.0]#tar -xzf nginx-1.4.0.tar.gz -C /usr/src/
[root@localhost nginx-1.4.0]#yum -y install gcc pcre pcre-devel gcc openssl \
>openssl-devel gd gd-devel perl perl-ExtUtils-Embed
[root@localhost nginx-1.4.0]#cd /usr/src/nginx-1.4.0/
[root@localhost nginx-1.4.0]# ./configure --prefix=/usr/local/nginx \
> --with-ipv6 \
> --with-http_ssl_module \
> --with-http_realip_module \
> --with-http_addition_module \
> --with-http_dav_module \
> --with-http_flv_module \
> --with-http_mp4_module \
> --with-http_gzip_static_module \
> --with-http_perl_module \
> --with-mail \
> --with-mail_ssl_module
[root@localhost nginx-1.4.0]#make && make install
各模块介绍(码字太多,百度求解吧):
服务器被安装到/usr/local/nginx/目录下
Nginx常用 管理命令:
[root@localhost nginx]# /usr/local/nginx/sbin/nginx #启动主程序
[root@daqijiance xyz]# /usr/local/nginx/sbin/nginx -c \
>/usr/local/nginx/conf/nginx.conf #指定配置文件启动主程序
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -s stop #关闭主程序
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -s reload #重新加载设置
配置文件解析:
[root@daqijiance nginx]# cat conf/nginx.conf
#设置用户与组
user nobody;
#启动子进程数
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#错误日志文件,以及日志级别。
error_log logs/error.log info;
#进程号保存文件
pid logs/nginx.pid;
events {
#每个进程可以处理的连接数,受系统文件句柄的限制
worker_connections 1024;
}
http {
include mime.types;
#默认文件类型
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
#是否调用sendfile()进行数据复制,sendfile()复制数据是在内核级别完成的,所以会比一般的read、write更高效
sendfile on;
#开启后的服务器的响应头部信息产生独立的数据包发送,即一个响应头一个包
tcp_nopush on;
#保持连接的超时时间
keepalive_timeout 65;
#是否启用压缩功能,将页面压缩后传输更节省流量
gzip on;
#使用server定义虚拟主机
server {
#服务器监听的端口
listen 80;
#访问域名
server_name daqijiance.com *.daqijiance.com;
#编码格式,如果网页编码于此设置不同,则将被自动转码
#charset koi8-r;
#设置虚拟主机的访问日志
access_log logs/daqijiance.com..log main;
#对url进行匹配
location / {
#设置网页的根路径,使用的是相对路径,html指的是处于Nginx安装路径下
root html/daqijiance;
#首页文件,先找index.html,若没有,再找index.htm
index index.html index.htm index.aspx;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
server {
listen 80;
server_name hbgk.com *.hbgk.com hebeigankong.com *.hebeigankong.com;
location / {
root html/hebeigankong;
index index.html index.htm index.aspx;
}
}
server {
listen 80;
server_name yiyuanjiance.com *.yiyuanjiance.com;
location / {
root html/yiyuanjiance/;
index index.html index.htm index.aspx;
}
}
# HTTPS server
server {
listen 443;
server_name hbu.cn hbu.edu.cn *.hbu.cn *.hbu.edu.cn;
ssl on;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html/hbu;
index index.html index.htm index.aspx;
}
}
}
[root@localhost nginx]# mkdir /usr/local/nginx/html/{daqijiance,hebeigankong,yiyuanjiance}
[root@localhost nginx]# echo "daqijiance.com" > /usr/local/nginx/html/daqijiance/index.html
[root@localhost nginx]# echo "hebeigankong.com" > /usr/local/nginx/html/hebeigankong/index.html
[root@localhost nginx]# echo "yiyuanjiance.com" > /usr/local/nginx/html/yiyuanjiance/index.html
上面这个实例可以根据来路域名跳转到不同的网站页面,也就是多个网站绑定到了同一个IP,Nginx web服务器监听80端口实现对不同来访域名的解析,返回不同网站首页。
其实这个测试一般通过修改DNS域名解析,如果没有DNS域名解析,也可以通过修改hosts文件的方式实现。
[root@daqijiance xyz]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.50.157 www.daqijiance.com www.hebeigankong.com www.yiyuanjiance.com daqijiance.com hebeigankong.com yiyuanjiance.com hbgk.com hbu.cn hbu.edu.cn www.hbu.cn www.hbu.edu.cn