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服务安装从小白到精通你只差这个文件(包括各种依赖包的解释)的主要内容,如果未能解决你的问题,请参考以下文章
Nginx从入门到精通Nginx配置文件说明及Nginx主要应用