第一次使用nginx是2007年,当时主流还是apache。nginx横空出世,在web2.0的推动下,迅速崛起。眼下已是绝对的主流了。 当时,还有一个轻量级的lighttpd,是德国人写,刚开始还并驾齐驱。 但nginx之后发展更加迅猛,现在知道和使用lighttpd已经越来越少。 想了解更多三者的信息,请查看apache\nginx\lighttpd的对比分析 废话说了这么多,进入正题吧。
sudo apt-cahce show nginxsudo apt install curl gnupg2 ca-certificates lsb-releaseecho "deb [arch=amd64] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.listsudo curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add - #会返回[ok]sudo apt-key fingerprint ABF5BD827BD9BF62 #如果返回以下信息,说明安装正确
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
uid [ unknown] nginx signing key <signing-key@nginx.com>sudo apt update
sudo apt install nginxsudo /etc/init.d/nginx start/down/restartnginx -t #检查配置信息是否正确,如果返回seccuessfully,就可以执行,reload的。不管你有多自信,都请先走这一步,养成好习惯。
nginx -s reload #服务器配置信息,热部署nginx -s quit 优雅停止nginx,有连接时会等连接请求完成再杀死worker进程
nginx -s reload 优雅重启,并重新载入配置文件nginx.conf
nginx -s reopen 重新打开日志文件,一般用于切割日志
nginx -v 查看版本
nginx -t 检查nginx的配置文件
nginx -h 查看帮助信息
nginx -V 详细版本信息,包括编译参数
nginx -c filename 指定配置文件cat /etc/nginx/conf.d/default.conf
server_name localhost #可以修改成你要绑定的域名
#location root 目录是 /usr/share/nginx/html/ cd /etc/nginx/conf.d/
sudo cp default.conf mysite.conf
vim mysite.conf
#修改,server_name 为 www.mysite.com (换成你的自己的域名,域名的A记录已经指向这台服务器)
#修改,location 配置里的 root 为/data/www/mysite
#保存退出
sudo nginx -t #检查我们新建的配置文件是否正确
sudo nginx -s reload #重新加载配置文件sudo chmod 755 /data
sudo chmod 755 /data/www
sudo chmod 755 /data/www/mystie
#为什么要从/data开始,因为nginx的网站目录的权限,要求父目录及以上都拥有同样的权限,需要读和执行的权限
cat /etc/passwd #查看所有用户
cat /etc/group #查看所有组
chown -R nginx /data/www/mysite
chgrp -R nginx /data/www/mysiteserver {
listen 443 ssl;
server_name www.mysite.com;
ssl_certificate /etc/nginx/ssl_certs/xxx.pem;
ssl_certificate_key /etc/nginx/ssl_certs/xxx.key;
#ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /data/www/mysite;
index index.html index.htm;
}
}
server {
listen 80;
server_name wwww.mysite.com; # 你的域名
# 强制跳转https
rewrite ^(.*) https://$server_name$1 permanent;
}
# 保存退出
sudo nginx -t
sudo nginx -s reload