文章目录
nginx的基本命令
启动 nginx
关闭 nginx -s quit 或者 nginx -s stop
重启 nginx -s reload
指定配置文件启动 nginx -c filename
配置nginx的环境变量
为什么要配置?
因为如果不配置只能在/usr/local/nginx/sbin目录下启动
配置了以后哪里都可以启动,方便
nginx加载默认界面
打开/usr/local/nginx/html
有两个文件50x.html和index.html
打开
可以对其进行修改,添加背景颜色等等
nginx加载默认页面
切记:修改配置文件信息一定要重启nginx服务
nginx的进程模型
master和worker是一个进程模型,这样的好处是可以起到隔离作用
nginx.conf配置文件分析
nginx启动失败找不到pid文件如何处理
ssl证书的配置
一个证书只能对应一个SSL证书
把nginx证书下载到本地,然后移到服务器下/usr/loacl/nginx/conf/cert目录下
然后在nginx.conf文件里配置ssl证书相关信息
#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
root html;
index index.html index.htm;
ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
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; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}
设置HTTP请求自动跳转HTTPS。
如果您希望所有的HTTP访问自动跳转到HTTPS页面,则可以在需要跳转的HTTP站点下添加以下rewrite语句。
使用示例代码前,请注意将yourdomain.com替换成证书绑定的域名。
server {
listen 80;
server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
location / {
index index.html index.htm;
}
}
域名访问网站配置
首先多开几个相同的服务
nohup java -jar xxx.jar --server.port=8083 >>1.txt &
nohup java -jar xxx.jar --server.port=8084 >>2.txt &
nohup java -jar xxx.jar --server.port=8085 >>3.txt &
nginx.conf文件配置
upstream tomcatservers {
server 127.0.0.1:8083;
server 127.0.0.1:8084;
server 127.0.0.1:8085;
}
server {
listen 80;
server_name api.ljhyyds.top;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcatservers;
}
}
可以打开多个xshell窗口并用tail -f xxx.txt查看对应的日志输出文件
搭建静态资源服务器
新建一个目录放静态资源文件
mkdir -p /www/kuangstudy/resources
配置Gzip压缩
#开启gzip,利于文件和请求数据的传输
gzip on;
#启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 10k;
#是否在http header中添加Vary:Accept-Encoding,建议开启
gzip_vary on;
#gzip压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
gzip_comp_level 3;
#进行压缩的文件类型。javascript有多种形式。其中的值可以在mine.types文件中找到
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httped-php image/bmp application/x-bmp image/x-ms-bmp application/vnd.ms-fontobject font/ttf font/opentype font/x-woff application/json image/jpg image/png image/gif image/jpeg;
Nginx跨域支持
什么是跨域
#允许跨域请求的域,*代表所有
add_header 'Access-Control-Allow-Origin' *;
#允许带上cookie请求
add_header 'Access-Control-Allow-Credentials' 'true';
#允许请求的方法,比如GET/POST/PUT
add_header 'Access-Control-Allow-Methods' *;
#允许请求的header
add_header 'Access-Control-Allow-Headers' *;
注意
Nginx防盗链
valid_referers *.ljhyyds.top;
#非法引入会进入下方判断
if ($invalid_referer){
return 402;
}