Linux云服务器Centos 7安装nginx,设置二级域名转发端口
Posted 洪城布衣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux云服务器Centos 7安装nginx,设置二级域名转发端口相关的知识,希望对你有一定的参考价值。
这里写目录标题
一、 nginx 安装
1.1 安装Nginx
下载网址为http://nginx.org/en/download.html,如下当前稳定版为1.22.1,可以直接下载上传
也可以输入wget http://nginx.org/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
#编译
make
make 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 Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
执行systemctl enable nginx
设置开机自启动
执行systemctl start nginx
启动
执行systemctl stop nginx
停止nginx
二、Nginx详细
默认配置文件位置为 /usr/local/nginx/conf/nginx.conf
参考链接https://www.cnblogs.com/54chensongxia/p/12938929.html
2.1 相关命令
/usr/local/nginx/sbin/nginx -t 查看配置文件路径
2.2 二级域名转发
例如我有个a应用,该应用部署在10086号端口,我的域名为abc.com
如果不设置二级域名将只能通过abc.com:10086访问
如果设置二级域名可以输入a.abc.com进行访问
想达到这种二级域名访问指定端口应用程序的效果可以使用两种方式
- 设置dns解析,找到域名提供商,例如腾讯云可以添加一条解析记录,主机记录填
a
记录类型选择隐形URL
或者显性URL
,记录值填http://abc.com:10086
,这样就实现了二级域名访问,但这种方式有缺陷,如果是隐形URL,获取到的网页将会以fram的形式插入到a.abc.com
,网页的图标可能显示异常,如果是显性URL,将会通过重定向到abc.com:10086
,url地址栏也会进行显示 - 通过nginx配置,
执行vi /usr/local/nginx/conf/nginx.conf,在nginx配置文件中添加下面一段即可,注意位置http # 此处省略一些配置 ... # 二级域名 server listen 80; server_name a.abc.com; location / proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:10086; # 可以存在多个server server ....省略
三、 SSL配置
3.1 确保Nginx安装了SSL模块
执行/usr/local/nginx/sbin/nginx -V
,显示如下
nginx version: nginx/1.22.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
3.2 下载证书
点击https://console.cloud.tencent.com/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_certificate cert/域名_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
多个域名,例如a.abc.com,b.abc.com,每个域名一个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 &
阿里云CentOS搭建SVN服务器及权限管理
虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN。
安装步骤如下:
1 、yum install subversion |
|
2 、输入rpm -ql subversion查看安装位置. 检查一下subversion是否安装成功。$ svnserve --version
|
|
3、创建svn版本库目录
4、创建版本库
5、进入conf目录(该svn版本库配置文件)
authz :文件是权限控制文件
passwd:是帐号密码文件
svnserve.conf :SVN服务配置文件
6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan
7、设置权限
vi authz
在末尾添加如下代码:
[/]
dan=rw
w=r
意思是版本库的根目录dan对其有读写权限,w只有读权限
8、修改svnserve.conf文件
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos
|
|
启动SVN服务。
$ sudo systemctl start svnserve.service
检查服务是否启动成功。
$ ps aux | grep svn root 16349 0.0 0.1 162180 900 ? Ss 15:01 0:00 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -r /opt/svn
通过netstat可以看到SVN打开了3690端口。
$ sudo netstat -tnlp Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 16349/svnserve
设置成开机启动。
$ sudo systemctl enable svnserve.service
10.SVN默认的打开端口是3690
可以通过下面的命令查看:
netstat -antp | grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 66486/svnserve
11.centos7 打开防火墙端口(如下是普通的服务器)
$ sudo firewall-cmd --permanent --add-port=3690/tcp $ sudo firewall-cmd --reload
备注:阿里云的ECS服务器,必须在网页控制台的安全组中-->添加入方向的安全规则(打开端口)
12、在TortoiseSVN上测试
svn://{your_ip}
以上是关于Linux云服务器Centos 7安装nginx,设置二级域名转发端口的主要内容,如果未能解决你的问题,请参考以下文章
Linux------环境配置(CentOS 7) 安装JDK Tomcat Nginx MySQL