在CentOS7下Nginx的简单使用
Nginx
Nginx是一个异步框架的 Web服务器,也可以用作反向代理,负载平衡器 和 HTTP缓存。该软件由 Igor Sysoev 创建,并于2004年首次公开发布。 同名公司成立于2011年,以提供支持。
安装
yum -y install nginx
启动
// 启动使用start 检查是否启动使用status 停止stop
service nginx start
测试 输入IP地址进行访问,出现下图说明已经成功
Nginx简单配置 - 发布web目录
nginx 的配置文件位置在/etc/nginx/nginx.conf ,在修改之前建议进行备份!
// 备份配置文件
cp nginx.conf nginx.conf.bak
// 编辑Nginx配置文件
vim /etc/nginx/nginx.conf
// 在配置文件的http{}中添加如下配置
server {
# 端口号
listen 80;
# 域名
server_name codingme.net;
# web目录
root /webroot;
# 默认首页
index index.html
error_page 500 502 503 504 /50x.html;
location / {
}
}
Nginx简单配置 - 反向代理
什么是反向代理呢?服务器根据客户端的请求,从一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器簇的存在。 一图胜千言: 使用反向代理有如下功能,引用维基百科:
对客户端隐藏服务器(簇)的IP地址 安全:作为应用层防火墙,为网站提供对基于Web的攻击行为(例如DoS/DDoS)的防护,更容易排查恶意软件等 为后端服务器(簇)统一提供加密和SSL加速(如SSL终端代理) 负载均衡,若服务器簇中有负荷较高者,反向代理通过URL重写,根据连线请求从负荷较低者获取与所需相同的资源或备援 对于静态内容及短时间内有大量访问请求的动态内容提供缓存服务 对一些内容进行压缩,以节约带宽或为网络带宽不佳的网络提供服务 减速上传 为在私有网络下(如局域网)的服务器簇提供NAT穿透及外网发布服务 提供HTTP访问认证[2] 突破互联网封锁(不常用,因为反向代理与客户端之间的连线不一定是加密连线,非加密连线仍有遭内容审查进而遭封禁的风险;此外面对针对域名的关键字过滤、DNS缓存污染/投毒攻击乃至深度数据包检测也无能为力)
// 编辑Nginx配置文件
vim /etc/nginx/nginx.conf
// 在配置文件的http{}中添加如下配置
server {
listen 80;
server_name codingme.net;
location / {
# Tomcat访问路径
proxy_pass http://127.0.0.1:8080/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Nginx简单配置 - HTTPS
在Google对HTPPS的推动下,越来越多的网站开始启用HTTPS协议,以应对网络安全问题。
关于HTTPS的概念,推荐一篇文章:HTTPS 的故事
// 编辑Nginx配置文件
vim /etc/nginx/nginx.conf
// 在配置文件的http{}中添加如下配置
server {
listen 80;
server_name codingme.net;
# HTTP请求跳转至HTTPS
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443;
server_name codingme.net;
ssl on;
# HTTPS证书位置
ssl_certificate /webroot/xxx.crt;
# 密钥位置
ssl_certificate_key /webroot/xxx.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
# 网站目录
root /webroot;
error_page 500 502 503 504 /50x.html;
location / {
}
}