nginx安装与基本配置

一、编译安装

下载nginx-1.12.1放到任意目录下(传送门:http://t.cn/RpElw8S

[root@server1 ~] cd /root/nginx-1.12.1/src/core
[root@server1 core] vim nginx.h

#define nginx_ver   "nginx/"    ##把版本号注释掉,这是为了防止针对特定版本的恶意攻击

[root@server1 cc] cd /root/nginx-1.12.1/auto/cc/
[root@server1 cc] vim gcc

#debug
#CFLAGS="$CFLAGS -g"       ##这一行注释起来,关闭编译时的调试模式,这样编译得到的源码包的大小会减少很多

[root@server1 nginx-1.12.1] ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-file-aio --with-threads --with-http_stub_status_module
[root@server1 nginx-1.12.1] make
[root@server1 nginx-1.12.1] make install

[root@server1 nginx-1.12.1] cd /usr/local/nginx/sbin/
[root@server1 sbin] ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@server1 sbin] nginx
[root@server1 sbin] netstat -antlp
[root@server1 sbin] curl localhost

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

https和虚拟主机

[root@server1 nginx]# useradd -M -d /usr/local/nginx/ -s /sbin/nologin -u 800 nginx
[root@server1 nginx]# id nginx
uid=800(nginx) gid=800(nginx) groups=800(nginx)

[root@server1 nginx]# lscpu     ##查看系统拥有几个cpu,配置文件中绑定cpu时需要保存一致
[root@server1 nginx]# vim /usr/local/nginx/conf/nginx.conf

  2 user  nginx nginx;
  3 worker_processes  2;
  4 worker_cpu_affinity 01 10;

 12 events {
 13     worker_connections  65535;
 14 }

 98     server {            ##https
 99         listen       443 ssl;
100         server_name  localhost;
101 
102         ssl_certificate      cert.pem;
103         ssl_certificate_key  cert.pem;
104 
105         ssl_session_cache    shared:SSL:1m;
106         ssl_session_timeout  5m;
107 
108         ssl_ciphers  HIGH:!aNULL:!MD5;
109         ssl_prefer_server_ciphers  on;
110 
111         location / {
112             root   html;
113             index  index.html index.htm;
114         }
115     }


117 server{         ##虚拟主机
118         listen 80;
119         server_name  www.westos.org;
120 
121         location / {
122                 root /www;
123                 index index.html;
124 
125         }
126         }
127 
128 server{         ##虚拟主机
129         listen 80;
130         server_name  bbs.westos.org;
131 
132         location / {
133                 root /bbs;
134                 index index.html;
135 
136         }
137 }

这里写图片描述

这里写图片描述

[root@server1 nginx]# vim /etc/security/limits.conf

 52 nginx   -       nofile  65535

这里写图片描述

[root@server1 nginx]# echo "www.westos.org_nginx" >/www/index.html
[root@server1 nginx]# echo "bbs.westos.org_nginx" >/bbs/index.html
[root@server1 nginx]# cd /etc/pki/tls/certs/
[root@server1 certs]# make cert.pem

-----
Country Name (2 letter code) [XX]:CN      
State or Province Name (full name) []:shaanxi
Locality Name (eg, city) [Default City]:xi'an
Organization Name (eg, company) [Default Company Ltd]:westos
Organizational Unit Name (eg, section) []:linux
Common Name (eg, your name or your server's hostname) []:server1
Email Address []:fangrong@163.com
[root@server1 certs]# 


[root@server1 certs]# cp cert.pem /usr/local/nginx/conf/
[root@server1 certs]# nginx -t
[root@server1 certs]# nginx -s reload

测试:
https://172.25.20.1/
http://www.westos.org/
http://bbs.westos.org/

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

负载均衡

stacky 粘滞 同一cookie不进行负载均衡

[root@server1 nginx]# vim /usr/local/nginx/conf/nginx.conf

12 events {
 13     worker_connections  65535;
 14 }
 15 
 16 
 17 http {
 18 
 19         upstream westos{

 20         #ip_hash;                   ##ip哈希
 20         #hash $request_uri consistent;     ##域名哈希

 20         server 172.25.8.2:80;
 21         server 172.25.8.3:80 weight=3;      ##3的权重为3,2和3 的比例为1:3,不加默认均衡
 22         server 127.0.0.1:80 backup;     ##2和3 全挂掉之后,读自己的


 23 }
 24 
 25     include       mime.types;
 26     default_type  application/octet-stream;

--------------------------------------------

124 server{
125         listen 80;
126         server_name  www.westos.org;
127 
128         location / {
129         #       root /www;
130         #       index index.html;
131                 proxy_pass http://westos;       ##代理,将所有的westos域名的请求转发到num:19 的upstream里
132 
133         }
134         }

这里写图片描述
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

重定向

[root@server1 nginx]# vim /usr/local/nginx/conf/nginx.conf

149 server{
150         listen 80;
151         server_name westos.org ;
152         rewrite ^(.*) http://bbs.westos.org$1 permanent;       ##westos.org -->http://bbs.westos.org  permanent--永久;redirect:临时
153 }



139 server{
140         listen 80;
141         server_name  bbs.westos.org;
142         rewrite ^(.*) https://bbs.westos.org$1 permanent;      ##bbs.westos.org -->https://bbs.westos.org
143         location / {
144                 root /bbs;
145                 index index.html;
146 
147         }
148 }




120 
121         location / {                ##默认的根 https://bbs.westos.org
122             root   html;
123             index  index.html index.htm;
124         }
125         location /images{               ##https://bbs.westos.org/images/lvs-dr.jpg 访问的目录
126                 alias /www/images;      ##重定向到/www/images/ 目录下
127         }
128     }
##/www/images/lvs-dr.png            ##目标文件位置

这里写图片描述

浏览器测试:
浏览器输入westos.org,自动调转到http://bbs.westos.org
浏览器输入westos.org/images/lvs-dr.png,自动调转到https://bbs.westos.org/images/lvs-dr.png
westos.org/images/lvs-dr.png—>http://bbs.westos.org/images/lvs-dr.png—>https://bbs.westos.org/images/lvs-dr.png

实际最后读取的并不是 /bbs/images/lvs-dr.png 而是/www/images/lvs-dr.png

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一款高性能的Web服务器和反向代理服务器,它可以处理大量的并发连接,同时还具有低内存占用和高稳定性等优点。在Linux系统中,安装配置Nginx非常简单,下面是详细的步骤: 1. 安装Nginx 在Ubuntu系统中,可以使用以下命令安装Nginx: sudo apt-get update sudo apt-get install nginx 在CentOS系统中,可以使用以下命令安装Nginx: sudo yum install epel-release sudo yum install nginx 2. 配置Nginx Nginx配置文件位于/etc/nginx/nginx.conf,可以使用以下命令打开该文件: sudo nano /etc/nginx/nginx.conf 在该文件中,可以配置Nginx的监听端口、虚拟主机、反向代理等功能。例如,以下是一个简单的Nginx配置文件: user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/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 /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } 在该配置文件中,可以看到Nginx的一些基本配置,例如日志文件路径、连接超时时间、文件传输方式等。同时,还可以看到Nginx配置文件可以包含其他的配置文件,例如/etc/nginx/conf.d/*.conf和/etc/nginx/sites-enabled/*,这些文件可以用于配置虚拟主机和反向代理等功能。 3. 启动Nginx 在完成Nginx配置后,可以使用以下命令启动Nginx: sudo systemctl start nginx 如果需要在系统启动时自动启动Nginx,可以使用以下命令: sudo systemctl enable nginx 4. 验证NginxNginx启动后,可以使用以下命令验证Nginx是否正常工作: sudo systemctl status nginx 如果Nginx正常工作,可以在浏览器中输入服务器的IP地址或域名,查看Nginx的欢迎页面。 总之,安装配置Nginx非常简单,只需要按照上述步骤进行操作即可。如果需要更加详细的配置,可以参考Nginx的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值