轻量级、高性能的HTTP服务器和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器
web服务器对比
Unix和Linux平台 | Windows平台 |
--Apache、Nginx、Tengine、Lighttpd --Tomcat、IBM WebSphere、Jboss |
微软公司的IIS(Internet Information Server) |
- 一、部署
gcc pcre-devel openssl-devel //安装依赖包
useradd -s /sbin/nologin nginx #与配置中的user不同则重启服务报错
#如果与
tar -xf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure \ #当前位置进行配置
> --prefix=/usr/local/nginx \ //指定安装路径
> --user=nginx \ //指定用户
> --group=nginx \ //指定组
> --with-http_ssl_module //开启SSL加密功能
make && make install //编译并安装
/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 //查看软件信息
ln -s /usr/local/nginx/sbin/nginx /sbin/ //方便后期使用,软连接快捷方式
netstat
-a显示所有端口的信息
-n以数字格式显示端口号
-t显示TCP连接的端口
-u显示UDP连接的端口
-l显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口
-p显示监听端口的服务名称是什么(也就是程序名称)
netstat -nualtp | grep nginx
ps aux | grep nginx
src目录下的 .c结尾(c语言)功能划分
make 源玛编译为二进制
通过./configure --help 查看该软件支持的模块
]# firewall-cmd --set-default-zone=trusted
]# setenforce 0
测试首页文件
]# curl http://<server_IP>
- 二、升级版本
[root@proxy ~]# tar -zxvf nginx-1.12.2.tar.gz#解新版本包
[root@proxy ~]# cd nginx-1.12.2 #进入改目录
[root@proxy nginx-1.12.2]# ./configure \ #当前目录下配置
> --prefix=/usr/local/nginx \ #安装路径不写默认在/usr/local/nginx
> --user=nginx \ #指定用户
> --group=nginx \ #指定组
> --with-http_ssl_module #开启SSL加密功能
[root@proxy nginx-1.12.2]# make #升级不用再进行安装
curl http://192.168.4.5和火狐验证效果差不多
[root@proxy nginx-1.12.2]# mv /usr/local/nginx/sbin/nginx \
>/usr/local/nginx/sbin/nginxold
#备份老程序
[root@proxy nginx-1.12.2]# cp objs/nginx /usr/local/nginx/sbin/
#拷贝新版本
[root@proxy nginx-1.12.2]# make upgrade
/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep 1
test -f /usr/local/nginx/logs/nginx.pid.oldbin
make: *** [upgrade] 错误 1>>kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
[root@proxy ~]# /usr/local/nginx/sbin/nginx –v //查看版本
----------------------------------------------------------------------------------
- 三、用户认证
vim /usr/local/nginx/conf/nginx.conf(nginx配置文件)
全局配置
(用户名,日志,进程)
http{
server{
listen 80; #端口
server_name localhost; #域名
auth_basic"认证提示符仅英文";
auth_basic_user_file "/usr/local/nginx/pass"; #认证密码文件
root html; #网站根路径(默认在安装位置)
}
server{
listen 80;
server_name www.xyz.com;
root www;
}
}
httpd-tools软件包
htpasswd -c /usr/local/nginx/pass(新密码文件)用户名 # -c创建密码文件第一次使用,继续添加(追加)无需此选项。后面接密码文件路径+用户名,回车后输入密码,自动写入密码到文件
htpasswd -c /usr/local/nginx/pass tom
前面已建快捷方式则直接nginx -s reload重新加载
---------------------------------------------------------------
基于域名的虚拟主机
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. .. server { listen 80; //端口 server_name www.a.com; //域名 auth_basic "Input Password:"; //认证提示符 auth_basic_user_file "/usr/local/nginx/pass"; //认证密码文件 location / { root html; //指定网站根路径 index index.html index.htm; } } … … server listen 80; //端口 server_name www.b.com; //域名 location / { root www; //指定网站根路径 index index.html index.htm; } } |
再建网站根路径mkdir /usr/local/nginx/www
echo "www" > /usr/local/nginx/www/index.html
nginx -s reload
客户端测试
修改客户端主机192.168.4.10的/etc/hosts文件,进行域名解析
vim /etc/hosts
192.168.4.5 www.a.com www.b.com
- 四、加密
- 对称密钥
AES、 DES 应用案例:RAR,ZIP压缩加密(单机加密)
- 非对称加密
RSA、 DSA 应用案例:网络加密(https,ssh)
- Hash值
MD5, SHA256, SHA 512 应用案例:数据完整性校验,文件秒传
]# md5sum anaconda-ks.cfg
81a24d454319c2a5b8b806828e370367 anaconda-ks.cfg
md5值与时间,名字,权限无关,与内容有关
RS ORS
FS OFS
awk 'BEGIN{FS="--";OFS="***"}{print $1,$2,$3}' 1.txt
awk -F: -v x&#