当前位置: 首页 > Web前端 > HTML

Nginx部署配置

时间:2023-03-28 20:05:07 HTML

常用命令启动:nginx立即停止:nginx-sstop优雅停止:nginx-squitrestartnginx-sreload查看配置文件是否正常,无语法错误nginx-t查看日志tail-f/var/log/nginx/access.logupstream的基本语法upstream的基本语法如下。upstream需要设置一个名称,可以作为服务器中的代理主机。upstreamws{server127.0.0.1:8080;}一个上游可以架设多台服务器。通常,Nginx会轮询每个服务器,以达到最基本的负载循环效果。上游默认服务器tflinux_php-fpm-tfphp_1:9000;servertflinux_php-fpm-tfphp_2:9000;}其他还可以配置一些max_fails(最大错误数),fail_timeout(失败等待超时时间),backup(备用服务器参数)等,我就不多介绍了,大家可以使用时检查它。配置http进入nginx目录,配置/etc/nginx/nginx.conf,主要是确认你要存放的配置文件是否已经引入(include),配置upstream,这样就可以在.conf文件中项目直接报价。http{#省略一些其他的默认配置#单纯使用服务器的时候,有点像全局定义兄弟alias-ws,后面你在子配置文件中使用http://ws/,相当于http//127.0.01:8080上游ws{服务器127.0.0.1:8080;}#....include/etc/nginx/sites-enabled/*;}没有证书服务器{#域名,如果你没有域名,就不用写这行,直接用ip访问server_namedev.xxx.com;#监听端口,访问时通过ip:9099访问listen9099;#gzip压缩,加快传输效率,方便gzip上页面的首次渲染;gzip_min_length1k;gzip_comp_level9;gzip_types文本/纯文本/css文本/javascript应用程序/json应用程序/javascript应用程序/x-javascript应用程序/xml;gzip_vary开启;gzip_disable"MSIE[1-6]\.";#指定项目入口文件index.html存放位置root/home/xxx/my-project/dist;#配置一个反向代理,如果路径匹配/api开头,就会转发到http://127.0.0.1:8888,所以你的本地请求不需要有端口location/api{proxy_set_headerHost$http_host;#这里也可以使用upstream,然后换成它的名字,都一样,看自己的proxy_passhttp://127.0.0.1:8888;}#配置重定向防止页面刷新404location/{try_files$uri$uri//index.html;}}配置ssl证书申请ssl证书,将证书复制到nginx目录下。比如我放在一个叫ca的目录下,一个.cer文件,一个.key文件,一共两个文件configuration.conf文件server{server_nameghostwang.xxx.com;#注意这里是443端口listen443ssl;#gzip配置gzipon;gzip_min_length1k;gzip_comp_level9;gzip_types文本/纯文本/css文本/javascript应用程序/json应用程序/javascript应用程序/x-javascript应用程序/xml;gzip_vary开启;gzip_disable"MSIE[1-6]\.";#证书配置相关#cer文件存放目录ssl_certificate/etc/nginx/ca/xxx.xxx.com.cer;#密钥文件存放目录ssl_certificate_key/etc/nginx/ca/xx.xx.com.key;#一些其他的ssl配置...ssl_session_timeout5m;ssl_protocolsTLSv1TLSv1.1TLSv1.2;ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;ssl_prefer_server_ciphers开启;根/var/www/我的项目/dist;#配置Websocket代理,让后端ws不需要配置ws,通过反向代理,去请求ws协议的接口,不然你的https网站,直接在ajax请求中请求ws会报错location/api/v1/ws{#ws就是http里面配置的upstream#等价proxy_passhttp://localhost:8080proxy_passhttp://ws;proxy_set_header主机$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_headerX-Forwarded-Port$server_port;proxy_set_headerX-Forwarded-Proto$scheme;proxy_http_version1.1;proxy_set_header升级$http_upgrade;proxy_set_header连接“升级”;proxy_connect_timeout60;proxy_read_timeout60;代理发送超时60;}#反向代理http接口location/api{proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_passhttp://ws;}location/{try_files$uri$uri//index.html;}}