Nginx升级:
Nginx可以跨版本升级。
只需要更换软件即可,不需要更改别的配置。
下载新版本的Nginx源码包
在新版本的Nginx目录中运行 configure文件
./configure --user=nginx --group=nginx --with-http_ssl_module
之后输入make进行编译,这样会./objs目录下产生一个新的nginx运行文件。
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old #备份nginx程序,以便于退回原来的版本
cp ./objs/nginx /usr/local/nginx/sbin/nginx #替换原有的程序
重启服务:make upgrade
用户认证:
Nginx默认允许所有用户访问,开启用户认证之后需要输入用户名和密码才可以访问。
1.修改配置文件/usr/local/nginx/conf/nginx.conf
listen 表示端口
server_name 表示域名,用来做虚拟主机
root 表示网页存放的位置
charset 表示编码方式
auth_basic 表示提示信息
auth_basic_user_file 表示密码文件存放的位置
2.生成密码文件,创建用户以及密码
yum -y install httpd-tools #安装用于生成密码文件的工具
htpasswd -c /usr/local/nginx/passwd tom #生成密码文件,并且创建名为tom的用户,-c用于第一次创建
htpasswd /usr/local/nginx/passwd jarry #添加用户
3.重启nginx服务
nginx -s reload
基于域名的虚拟主机:
1.修改配置文件
vim /usr/local/nginx/conf/nginx.conf
www.a.com 是 html/index.html 所以不需要修改 #看root后的路径
www.b.com 是 html/b/index.html 所以需要创建目录以及文件 #看root后的路径
mkdir /usr/local/nginx/html/b
echo '<h1> hello nginx b' > index.html
2.如果没有DNS服务器,在本地配置域名
vim /etc/hosts
重启nginx服务:nginx -s reload
nginx访问文件的两种方式:
# nginx 在 location 下提供了两种访问文件的形式 root 和 alias
# 文件存储在 /usr/local/nginx/html/parking/
1. root方式:
访问parking --> html/parking
# root路径/location/
location /parking {
root html;
index index.html index.htm;
}
2. alias方式 (个人喜欢使用的方式,比较直接了)
访问parking --> /usr/local/nginx/html/parking/
# 直接访问到alias对应的路径
location /parking {
alias /usr/local/nginx/html/parking/;
index index.html index.htm;
}
补充一下ssl的配置:
## 首先升级nginx,开启ssl模块。
## 我用的是二级域名,证书也是二级域名的证书。
## 直接贴配置文件了,替换域名和证书即可。
server {
listen 80;
server_name beta.sda1-hacker.com; # 自己的域名
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
listen 443 ssl;
server_name beta.sda1-hacker.com; # 自己的域名
# access_log /var/log/nginx/host.access.log main;
ssl_certificate /usr/local/nginx/cert/6549979_beta.sda1-hacker.com.pem; # pem文件的路径
ssl_certificate_key /usr/local/nginx/cert/6549979_beta.sda1-hacker.com.key; # key文件的路径
# ssl验证相关配置
ssl_session_timeout 5m; #缓存有效期
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议
ssl_prefer_server_ciphers on; #使用服务器端的首选算法
# 其它配置省略了。
}
写总结的第十四天!!!