搜索

nginx 文件配置 如何设置域名

发布网友 发布时间:2022-02-26 21:28

我来回答

3个回答

懂视网 时间:2022-02-27 01:49

产品型号:Thinkpad E15

系统版本:centos8

nginx配置文件详解

#定义Nginx运行的用户和用户组

user nginx nginx;

#nginx进程数,建议设置为等于CPU总核心数。

worker_processes 8;

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

error_log /var/log/nginx/error.log info;

#进程文件

pid /var/run/nginx.pid;

#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。

worker_rlimit_nofile 65535;

#设定http服务器

http

{

include mime.types; #文件扩展名与文件类型映射表

default_type application/octet-stream; #默认文件类型

#charset utf-8; #默认编码

server_names_hash_bucket_size 128; #服务器名字的hash表大小

client_header_buffer_size 32k; #上传文件大小

large_client_header_buffers 4 k; #设定请求缓

client_max_body_size 8m; #设定请求缓

autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。

tcp_nopush on; #防止网络阻塞

tcp_nodelay on; #防止网络阻塞

keepalive_timeout 120; #长连接超时时间,单位是秒

#gzip模块设置

gzip on; #开启gzip压缩输出

gzip_min_length 1k; #最小压缩文件大小

gzip_buffers 4 16k; #压缩缓冲区

gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)

gzip_comp_level 2; #压缩等级

gzip_vary on;

#limit_zone crawler $binary_remote_addr 10m; #开启IP连接数的时候需要使用

#虚拟主机的配置

server

{

#监听端口

listen 80;

#域名可以有多个,用空格隔开

server_name www.ha97.com ha97.com;

index index.html index.htm index.php;

root /data/www/ha97;

location ~ .*.(php|php5)?$

{

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

#图片缓存时间设置

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 10d;

}

#JS和CSS缓存时间设置

location ~ .*.(js|css)?$

{

expires 1h;

}

#定义本虚拟主机的访问日志

access_log /var/log/nginx/ha97access.log access;

#对 “/” 启用反向代理

location / {

proxy_pass http://127.0.0.1:88;

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


热心网友 时间:2022-02-26 22:57

前言:

这里我自己从官方克隆了一版到自己的git平台汉化了一下说明,这里简单介绍一下我个人的配置,详细文档可到https://git.liukaiming.com/18059662215/acme查看我的汉化文档.

前置条件:

一.备案域名 二.已经做好dns解析.

1. 执行安装

 

git clone https://git.liukaiming.com/18059662215/acme.git
cd ./acme.sh
./acme.sh --install

安装后,必须关闭当前终端,然后重新打开以使别名生效。

查看版本:

acme.sh -h

 

2.获取域名供应商API(这区取用了acme的其中一种方法,api访问更新解析)

因为本人用的华为云,而acme里面的dnsapi里面没有关于华为云的shell脚本,所以我这么懒的人,直接把原华为云域名的供应商解析换成阿里云,阿里云的个人API在阿里云登录后进入控制台->右上角头像->AccessKey管理点击进入

如下图:

进入没有东西的话自己新建一个,可以看到有两个参数access key 和access secret
如下图:

至于说怎么变更CDN服务商,在域名解析那里可以看到阿里云的cdn解析地址,更换一下cdn服务商地址就好,一般7个小时以内就可以更换完成,不过国内cdn服务商地址更换没那么久,正常一个小时以内更换,挺快的.

3.接下来就是生成证书了

一.先把阿里云的环境变量更新上去

export Ali_Key="上面申请到的access key"
export Ali_Secret="上面申请到的access secret"

二.生成证书,这里我直接用了自己的泛域名解析(修改为你们要解析的域名)

acme.sh --issue --dns dns_ali -d *.liukaiming.com

三.接下来,证书愉快的生成成功了.有失败的话检查一下上面的步骤是否出错.

没有问题的话最后会输出如下的代码,这里已经成功了

-----END CERTIFICATE-----
[Wed Dec 18 15:19:30 CST 2019] Your cert is in /root/.acme.sh/*.liukaiming.com/*.liukaiming.com.cer
[Wed Dec 18 15:19:30 CST 2019] Your cert key is in /root/.acme.sh/*.liukaiming.com/*.liukaiming.com.key
[Wed Dec 18 15:19:30 CST 2019] The intermediate CA cert is in /root/.acme.sh/*.liukaiming.com/ca.cer
[Wed Dec 18 15:19:30 CST 2019] And the full chain certs is there: /root/.acme.sh/*.liukaiming.com/fullchain.cer

4.部署(在nginx上),其他部署可以参考我git上的文档.

server
{
listen 443 ssl http2;
server_name www.liukaiming.com;
index index.php index.html index.htm default.php default.htm default.html;
root /***/***;

#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate /root/.acme.sh/*.liukaiming.com/*.liukaiming.com.cer;
ssl_certificate_key /root/.acme.sh/*.liukaiming.com/*.liukaiming.com.key;

ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}

这里在配置上换成我们上方给我们的信息.

到这里基本就配置完成了.

 

5.关于证书自动更新

证书的有效期为90天,目前证书在 60 天以后会通过定时任务自动更新, 你无需任何操作。
今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.

5.2 acme.sh 更新

目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.
升级 acme.sh 到最新版 :

acme.sh --upgrade

如果你不想手动升级, 可以开启自动升级:

acme.sh  --upgrade  --auto-upgrade

之后, acme.sh 就会自动保持更新了.
你也可以随时关闭自动更新:

acme.sh --upgrade  --auto-upgrade  0

6.个人网站链接:

博客地址:https://liukaiming.com  或者 https://blog.liukaiming.com

git地址:https://git.liukaiming.com/18059662215/acme

文档地址:https://doc.liukaiming.com

原文地址:https://liukaiming.com/175.html有代码高亮,看的比较舒服

热心网友 时间:2022-02-27 00:15

1.路径:  /etc/nginx/nginx.conf 和 /etc/nginx/conf.d,

其实只有/etc/nginx/nginx.conf 这一个配置文件,因为在nginx.conf中,其他配置文件都是可以利用 include 指令·引入的

部分配置文件:

server
{
listen 80;
server_name test.net;

root  /var/www/test;



#include none.conf;
#error_page   404   /404.html;
location ~ [^/]\.php(/|$)
{
include        fastcgi_params;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
client_max_body_size  500m;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires      30d;
}

location ~ .*\.(js|css)?$
{
expires      12h;
}
#location = /HBLS.deb {
#       rewrite . /HBLS.deb;
#       default_type application/x-deb;
#}




access_log off;
#access_log  logs/lung.access.log;
#error_log  logs/lung.error.log  debug;
}

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top