900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 【Linux】云服务器Centos 7安装nginx 设置二级域名转发端口

【Linux】云服务器Centos 7安装nginx 设置二级域名转发端口

时间:2023-12-28 21:35:48

相关推荐

【Linux】云服务器Centos 7安装nginx 设置二级域名转发端口

这里写目录标题

一、 Nginx 安装1.1 安装Nginx1.2 使用1.3 自启动配置 二、Nginx详细2.1 相关命令2.2 二级域名转发 三、 SSL配置3.1 确保Nginx安装了SSL模块3.2 下载证书其它

一、 Nginx 安装

1.1 安装Nginx

下载网址为/en/download.html,如下当前稳定版为1.22.1,可以直接下载上传

也可以输入wget /download/nginx-1.22.1.tar.gz下下载下来

#解压tar -zxvf nginx-1.22.1.tar.gz#进入目录cd ./nginx-1.22.1#配置,`--with-http_ssl_module`为创建ssl 将可以部署https,不填也可以但后期无法部署https./configure --prefix=/usr/local/nginx --with-http_ssl_module#编译makemake install

1.2 使用

#启动/usr/local/nginx/sbin/nginx#重新加载配置/usr/local/nginx/sbin/nginx -s reload#停止/usr/local/nginx/sbin/nginx -s stop

启动后可以输入网址不加端口将显示如下:

1.3 自启动配置

先将服务停止,然后进行如下步骤

执行vim /etc/systemd/system/nginx.service,填写如下内容

[Unit]Description=The Nginx HTTP ServerAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s stopPrivateTmp=true[Install]WantedBy=multi-user.target

执行systemctl enable nginx设置开机自启动

执行systemctl start nginx启动

执行systemctl stop nginx停止nginx

二、Nginx详细

默认配置文件位置为/usr/local/nginx/conf/nginx.conf

参考链接/54chensongxia/p/12938929.html

2.1 相关命令

/usr/local/nginx/sbin/nginx -t 查看配置文件路径

2.2 二级域名转发

例如我有个a应用,该应用部署在10086号端口,我的域名为

如果不设置二级域名将只能通过:10086访问

如果设置二级域名可以输入进行访问

想达到这种二级域名访问指定端口应用程序的效果可以使用两种方式

设置dns解析,找到域名提供商,例如腾讯云可以添加一条解析记录,主机记录填a记录类型选择隐形URL或者显性URL,记录值填:10086,这样就实现了二级域名访问,但这种方式有缺陷,如果是隐形URL,获取到的网页将会以fram的形式插入到,网页的图标可能显示异常,如果是显性URL,将会通过重定向到:10086,url地址栏也会进行显示通过nginx配置,

执行vi /usr/local/nginx/conf/nginx.conf,在nginx配置文件中添加下面一段即可,注意位置

http {# 此处省略一些配置...# 二级域名 server {listen 80;server_name ;location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;proxy_pass http://127.0.0.1:10086;}# 可以存在多个serverserver{....省略}}

三、 SSL配置

3.1 确保Nginx安装了SSL模块

执行/usr/local/nginx/sbin/nginx -V,显示如下

nginx version: nginx/1.22.1built by gcc 4.8.5 0623 (Red Hat 4.8.5-44) (GCC)built with OpenSSL 1.0.2k-fips 26 Jan TLS SNI support enabledconfigure arguments: --prefix=/usr/local/nginx --with-http_ssl_module

3.2 下载证书

点击https://console./ssl进入ssl控制台先申请免费证书,申请后点击如下下载,选择nginx

下载下来解压将有下面四个文件

将其中bundle.crt和.key结尾的两个文件上传至服务器放在/usr/local/nginx/conf/cert下没有cert目录要在conf先创建

执行vi /usr/local/nginx/conf/nginx.conf将其中HTTPS配置的注释去掉,并替换域名,两个文件的路径,如下图所示

server {listen 443 ssl;server_name 域名;ssl_certificatecert/域名_bundle.crt;ssl_certificate_key cert/域名.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;}}

执行systemctl restart nginx.service重启服务即可,注意服务器要开放对应443端口,并且dns解析新建好记录,记录值为服务器ip即可,输入https加域名将得到安全访问,如下图所示,若更改应用位置可参考二级域名配置更改location

多个域名,例如,,每个域名一个ssl证书按如上安装即可

其它

使用https时,flask返回流内容时将失效,具体表现为ChatGPT web项目中使用https后将不会逐字动态显示,原因是nginx的缓存策略导致的,可在对应server的配置中添加如下禁用缓存

proxy_buffering off;proxy_request_buffering off;

记录 :

博客启动时指定端口

nohup java -jar blog-0.0.1-SNAPSHOT.jar --server.port=5001 > web.log 2>&1 &

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。