Nginx服务安装从小白到精通你只差这个文件(包括各种依赖包的解释)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx服务安装从小白到精通你只差这个文件(包括各种依赖包的解释)相关的知识,希望对你有一定的参考价值。

nginx

安装nginx,升级  用户认证    auth_basic_user_file    虚拟主机    加密 反向代理: 源码包安装nginx

yum –y install gcc pcre-devel(支持正则表达) openssl-devel(支持认证加密) #常见依赖包

useradd –s /sbin/nologin nginx #为程序创建用户

tar -xf nginx-1.8.0.tar.gz

cd nginx-1.8.0

./configure --help | grep with #查看功能

./configure \

--prefix=/usr/local/nginx \ #指定安装路径文件
--user=nginx \ #指定用户
--group=nginx \ #指定用户组
--with-http_ssl_module #SSL加密功能

make

make install

cp /usr/local/nginx/sbin/nginx /usr/sbin/ #添加快捷命令


首先编译安装

./configure......

make
C语言源码编译成二进制可执行程序 库文件等
绿色的nginx

make install

注意:原来有则会覆盖掉原来数据


升级Nginx
编译新版本nginx

tar -zxvf nginx-1.9.0.tar.gz

# cd nginx-1.9.0
[[email protected] nginx-1.9.0]# ./configure   > --prefix=/usr/local/nginx   \ 
> --user=nginx   \ 
> --group=nginx  \ 
> --with-http_ssl_module
#会在目录下生成objs文件夹 这是编译文件
    # make  #会在objs里生成nginx程序文件着就是升级的程序

注意: 这里继续make install会覆盖安装 会删除软件下所有目录所有数据!

# mv /usr/local/nginx/sbin/nginx  >/usr/local/nginx/sbin/nginxold #将旧版本备份起来以便升级失败后还原,重要
# cp objs/nginx  /usr/local/nginx/sbin/ #拷贝新版本  
# /usr/local/nginx/sbin/nginx -s stop   #停服务
# /usr/local/nginx/sbin/nginx       #启动   重启是 -s reload

nginx命令

/usr/local/nginx/sbin/nginx #启动服务

/usr/local/nginx/sbin/nginx -s stop #关闭服务

/usr/local/nginx/sbin/nginx -s reload #重新加载 配置文件

/usr/local/nginx/sbin/nginx –V #查看软件信息

......
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
#有软件安装配置 模块信息

nginx服务默认通过TCP 80端口监听客户端请求:

netstat -anptu | grep nginx

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10441/nginx


配置文件
注意: 每段后面都有;分号结尾,一个server代表一个网站;
配置文件中 / 根 代表/usr/local/nginx/下
虚拟主机不能完全一样

vim /usr/local/nginx/conf/nginx.conf #全局配置文件

注意:
每段后面都有;分号结尾
一个server{}代表一个网站
基于域名
基于IP
基于端口
相同条件由于多个虚拟网站第一个优先显示 #如果不想让人用IP访问可在第一个放一个空页面 用IP就无法访问了
http{

server {

listen 80; #等同于listen 192.168.4.5:80; #一个IP也就是一张网卡

server_name www.haha.com;

location / {

root html; #网站目录

index index.html index.htm;

}

}

server {
    listen       80;        #可写 listen 192.168.4.5:80;
    server_name  localhost;

    auth_basic "Input Password:";   #认证提示符

    auth_basic_user_file "/usr/local/nginx/pass";   #认证密码文件用户,是nginx独立创建的

    location / {
        root   web;     #目录不要和上面的重复不然会一样 出去要创建
        index  index.html index.htm;
    }
  }

}

#pid logs/nginx.pid; #记录nginx的进程pid文件 此文件可用于判断nginx是否启动

配置认证用户

#yum install -y httpd-tools #安装创建网站用户的工具

htpasswd -cm /usr/local/nginx/pass tom #-c是创建密码文件 以有可以不用加-c m是md5加密方式 可以不写默认也是md5

New password:
Re-type new password:
Adding password for user tom

htpasswd /usr/local/nginx/pass jarry

nginx -s reload

日志文件 logs


https
对称密钥:单机加密 AES,DES
加密解密同一个 比如RAR压缩密码(AES)
非对称密钥:网络加密 RSA,DSA
公钥 私钥 证书

扩展

md5sum a.txt #查看文加md5值 内容改变md5校验值就会变(数据安全)


SSL虚拟主机

源码安装Nginx时必须使用--with-http_ssl_module参数

1.生成私钥与证书

cd /usr/local/nginx/conf

openssl genrsa -out cert.key #生成私钥 也以这样写openssl genrsa > cert.key

openssl req -new -x509 -key cert.key -out cert.pem #生成证书 同样 -out 可 > 替换

2.修改Nginx配置文件,设置加密网站的虚拟主机

vim /usr/local/nginx/conf/nginx.conf #在尾部有模版

… …
server {
listen 443 ssl;
server_name www.cc.com;
ssl_certificate cert.pem; # 公钥 注意在conf下
ssl_certificate_key cert.key; # 私钥
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}


Nginx反向代理

调度器 client----> proxy----->web1,web2,web3...(web高可用)

proxy:
调度
负载均衡
健康检查(自动感知 后台ping)

1.安装nginx

2.修改配置

vim /usr/local/nginx/conf/nginx.conf

http {
......
upstream webserver { #定义集群 可以定义多个集群
ip_hash; #会话保持
server 192.168.2.100; #web服务器的ip
server 192.168.2.200 weight=2 max_fails=3 fail_timeout=30;
server 192.168.1.1 down;
#weight默认1会在此会连续调用两次数
#max_fails错误连接次数
#fail_timeout连接失败后(ping)等待时间
#down 停用服务器(维修)
#ip_hash 会话保持,根据客户端(同一IP)只会访问同一后端服务器防止账号重复登陆的问题
}
server {
listen 80;
server_name www.test.com;

location / {
proxy_pass http://webserver; #调用集群 写在location里,下面的配置就无效拉
root html;
index index.html index.htm;
}
......
}

3.起服务

nginx -s reload

看完以后有何感想 评论留下你的感想 有赞更帅

以上是关于Nginx服务安装从小白到精通你只差这个文件(包括各种依赖包的解释)的主要内容,如果未能解决你的问题,请参考以下文章

从青铜到王者,你只差这篇全网最全linux命令大全

Nginx从入门到精通Nginx静态网站部署

Nginx从入门到精通Nginx静态网站部署

Nginx从入门到精通Nginx配置文件说明及Nginx主要应用

Nginx从入门到精通Nginx配置文件说明及Nginx主要应用

你离 精通微服务 只差一个阿里资深架构师整理的微服务实战文档