赞
踩
目录
七,通过systemctl命令能否正常启动,停止,重启nginx服务
反向代理解释:是指用户不需要知道目标服务器的地址,也不需要在用户端做任何设定,可以直接通过访问反向代理服务器来获得目标服务器的资源,反向代理提高了内部服务器的安全,加快了对内部服务器的访问速度。
优点
①提高了内部服务器的安全
②加快了读i内部服务器的访问速度
③节约了有限的IP资源
nginx的http七层代理,nginx工作在osl七层模型的应用层。由于其可以解析http协议,我看可以根据url进行请求的分发,具有很大的灵活性,但是协议的解析存在性能的消耗,为了能获取更高的代理性能。
nginx支持了四层代理,即传输层,tcp/udp层,没有协议解析,就是简单的tcp/udp转发,代理性能突飞猛进。
- Nginx是一个基于事件的Web服务器,Apache是一个基于流程的服务器。
-
- Nginx所有请求都是由一个线程处理,Apache单个线程处理单个请求。
-
- Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方便一般。
-
- Nginx的性能和伸缩性不依赖于硬件,Apache依赖于CPU和内存等硬件。
-
- Nginx支持热部署,Apache不支持热部署。
-
- Nginx对于静态文件处理具有高效率,Apache相对一般。
-
- Nginx在反向代理场景具有明显优势,Apache相对一般
Nginx 的配置及运行需要 pcre、zlib 等软件包的支持,因此应预先安装这些软件的开发 包(devel),以便提供相应的库和头文件,确保 Nginx 的安装顺利完成
- cd nginx-1.12.0/
- ./configure \
- --prefix=/usr/local/nginx \ #指定nginx的安装路径
- --user=nginx \ #指定用户名
- --group=nginx \ #指定组名
- --with-http_stub_status_module #启用 http_stub_status_module 模块以支持状态统计
-
- make && make install
-
- ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令
为了使 Nginx 服务器的运行更加方便,可以为主程序 nginx 创建链接文件,以便管理员 直接执行“nginx”命令就可以调用 Nginx 的主程序(让系统可以识别
- nginx -t 检查配置文件是否配置正确
-
- nginx 启动
-
- 停止nginx服务(控制手段)
-
- [root@kya conf]#cat /usr/local/nginx/logs/nginx.pid
- 8924
- kill -3 pid号
- kill -s quit pid号
- killall -3 nginx
- killall -s qult nginx
- 重载
- 优雅的杀死,停止 kill systemctl stop
- 暴力终止 rm -rf nginx.pid 强行关机断电
-
- ##配置参数解释##
- [Unit]
- Description=nginx ####描述
- After=network.target ####描述服务类别
- [Service]
- Type=forking ###后台运行形式
- PIDFile=/usr/local/nginx/logs/nginx.pid ###PID文件位置
- ExecStart=/usr/local/nginx/sbin/nginx ###启动服务
- ExecReload=/usr/bin/kill -s HUP $MAINPID ###根据PID重载配置
- ExecStop=/usr/bin/kill -s QUIT $MAINPID ###根据PID终止进程
- PrivateTmp=true
- [Install]
- WantedBy=multi-user.target
- #user nobody; #运行用户,若编译时未指定则默认为 nobody
- worker_processes 4; #工作进程数量,可配置成服务器内核数 * 2,如果网站访问量不大,一般设为1就够用了
- #error_log logs/error.log; #错误日志文件的位置
- #pid logs/nginx.pid; #PID 文件的位置
- evevts{
- worker_connections 1024
-
- }
-
- 表示每个worker可以创建多少个连接,默认为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 on;
- ##此选项允许或禁止使用socket的TCP_CORK的选项(发送数据包前先缓存数据),此选项仅在使用sendfile的时候使用
- #tcp_nopush on;
- ##连接保持超时时间,单位是秒
- #keepalive_timeout 0;
- keepalive_timeout 65;
- ##gzip模块设置,设置是否开启gzip压缩输出
- #gzip on;
-
- ##Web 服务的监听配置
- server {
- ##监听地址及端口
- listen 80;
- ##站点域名,可以有多个,用空格隔开
- server_name www.kgc.com;
- ##网页的默认字符集
- charset utf-8;
- ##根目录配置
- location / {
- ##网站根目录的位置/usr/local/nginx/html
- root html;
- ##默认首页文件名
- index index.html index.php;
- }
- ##内部错误的反馈页面
- error_page 500 502 503 504 /50x.html;
- ##错误页面配置
- location = /50x.html {
- root html;
- }
- }
- }
- $remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
- $remote_user:用来记录客户端用户名称;
- $time_local: 用来记录访问时间与时区;
- $request: 用来记录请求的url与http协议;
- $status: 用来记录请求状态;成功是200,
- $body_bytes_sent :记录发送给客户端文件主体内容大小;
- $http_referer:用来记录从哪个页面链接访问过来的;
- $http_user_agent:记录客户浏览器的相关信息;
- 通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
-
- location常见配置指令,root、alias、proxy_pass
- root(根路径配置):root /var/www/html
- 请求www.kgc.com/test/1.html,会返回文件/var/www/html/test/1.html
-
- alias(别名配置):alias /var/www/html
- 请求www.kgc.com/test/1.html,会返回文件/var/www/html/1.html
-
- proxy_pass(反向代理配置)
htppasswd:htpasswd是一个用于目录访问权限认证的一个工具
-c 创建密码文件,如果文件存在,那么内容被清空重写
生产用户密码认证文件
yum -y install httpd-tools
[root@kya conf]#htpasswd -c /usr/local/nginx/htpasswd.db cxk
New password:
Re-type new password:
Adding password for user cxk
添加nginx管理给与400权限
[root@kya nginx]#chown nginx /usr/local/nginx/htpasswd.db
[root@kya nginx]#chmod 400 /usr/local/nginx/htpasswd.db
2,修改主配置文件相对应的目录
,添加认证配置项
auth_basic "secret";
auth_basic_user_file /usr/local/nginx/htpasswd.db;
重启服务,进行访问
修改配置文件
我们在不同的location位置可以做不同的功能限制,比如我们可以让用户直接访问首页但不允许用户直接访问状态统计模块,如何配置
基于客户端的访问控制
1,访问控制规则如下
deny ip/ip/段,拒绝某个ip或者ip段的客户端访问
allow ip/ip段,允许某个ip或ip段的客户端访问
location /{
root html;
index index.html index.htm;
deny 192.168.135.111;
allow all;
111无法访问112,因为添加了禁止访问
nginx支持的虚拟主机
1,基于域名的虚拟主机
2,基于ip的虚拟主机
3,基于端口的虚拟主机
通过server{
来实现不同的虚拟主机
}
添加域名解析
echo "192.168.135.113 www.kya.com www/cxk.com" >> /etc/hosts
这边虚拟站点网页文档
- [root@kya conf]#mkdir -p /var/www/html/jiesi
- [root@kya conf]#mkdir -p /var/www/html/zhaoxing
- [root@kya conf]#cd /var/www/html/
- [root@kya html]#ll
- 总用量 0
- drwxr-xr-x. 2 root root 6 8月 12 14:56 jiesi
- drwxr-xr-x. 2 root root 6 8月 12 14:56 zhaoxing
-
-
-
- [root@kya zhaoxing]#cat index.html
- your words cut deeper then a knife
- 你一字一句,像是插进我身体的匕首
- [root@kya zhaoxing]#cd ..
- [root@kya html]#cd jiesi/
- [root@kya jiesi]#cat index.html
- but on one,s ever left me quite sore
- 但是没有人能让我伤痛欲绝
- [root@kya jiesi]#
server文件配置
- [root@kya html]#mkdir 80
- [root@kya html]#mkdir 8080
- [root@kya html]#cd 80
- [root@kya 80]#ls
- [root@kya 80]#vim index.html
- [root@kya 80]#ll
- 总用量 4
- -rw-r--r--. 1 root root 11 8月 12 16:26 index.html
多刷新几次,查看日志文件
创建8080端口的网页文件
- [root@kya html]#mkdir 80
- [root@kya html]#mkdir 8080
- [root@kya html]#cd 80
- [root@kya 80]#ls
- [root@kya 80]#vim index.html
- [root@kya 80]#ll
- 总用量 4
- -rw-r--r--. 1 root root 11 8月 12 16:26 index.html
进入配置文件,复制www.cxk.com的配置,修改端口号
日志文件位置
1,添加192.168.135.122的映射
- cd/var/www/html
- [root@kya www]#cd html/
- [root@kya html]#ll
- 总用量 0
- drwxr-xr-x. 2 root root 24 8月 12 16:26 80
- drwxr-xr-x. 2 root root 24 8月 12 16:26 8080
- drwxr-xr-x. 2 root root 24 8月 12 15:01 jiesi
- drwxr-xr-x. 2 root root 24 8月 12 15:02 zhaoxing
- [root@kya html]#mkdir 122xck
- [root@kya html]#cd 122xck/
- [root@kya 122xck]#ll
- 总用量 0
- [root@kya 122xck]#vim index.html
- 创建一个,122ip的index.html文件
- [root@kya 122xck]#cat index.html
- ip 122
- www.xck.com
- time is a valuable thing
- 时间是宝贵的
2,添加122的虚拟网卡
- [root@kya 122xck]#ifconfig ens33:0 192.168.135.122 netmask 255.255.255.0
- [root@kya 122xck]#ifconfig
- 如果要固定这张网卡,需要到网卡配置那边创建一个
3,进入nginx,server下修改配置文件
4,访问192.168.135.112
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。