需要先参考我的博客《Linux学习之Ubuntu 20.04在https://openresty.org下载源码安装Openresty 1.19.3.1,使用systemd管理OpenResty服务》安装好Openresty
。
虚拟域名可以使用让不同的域名访问到同一台主机。
cd /usr/local/openresty
切换当前访问目录到/usr/local/openresty
。
在/usr/local/openresty/nginx/conf/nginx.conf
文件的http配置块末尾添加上以下的内容:
server {
# 监听8000
listen 8000;
# 域名设为 www.sea.com
server_name www.sea.com;
location / {
# 访问根目录是html/sea
root html/sea;
index index.html index.htm;
}
}
server {
# 监听8800
listen 8800;
# 域名设为 www.sea.com
server_name www.side.com;
location / {
# 访问根目录是html/side
root html/side;
index index.html index.htm;
}
}
/usr/local/openresty/nginx/conf/nginx.conf
文件整体内容如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
# 监听8000
listen 8000;
# 域名设为 www.sea.com
server_name www.sea.com;
location / {
# 访问根目录是html/sea
root html/sea;
index index.html index.htm;
}
}
server {
# 监听8800
listen 8800;
# 域名设为 www.sea.com
server_name www.side.com;
location / {
# 访问根目录是html/side
root html/side;
index index.html index.htm;
}
}
}
我使用的是vim
编辑器,要是不知道vim编辑怎么使用,可以看一下我的博客。
/usr/local/openresty/nginx/sbin/nginx -t
可以检查一下格式和测试都是正常的。
/usr/local/openresty/nginx/sbin/nginx
进行启动。
lsof -i:8000
可以看到8000
端口已经被监听,lsof -i:8800
可以看到8800
端口也已经被监听,lsof -i:7800
没有被监听,因为没有任何输出,注意:7800端口只是测试一下,说明什么叫没有被监听。
/usr/local/openresty/nginx/sbin/nginx
再次进行启动,发现报错如下:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8000 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8800 failed (98: Address already in use)
/usr/local/openresty/nginx/sbin/nginx -s stop
可以停止nginx
,/usr/local/openresty/nginx/sbin/nginx
再次启动。
netstat -ntpl | grep nginx
查看一下nginx
的监听端口。
接下来把下边的内容也添加到/usr/local/openresty/nginx/conf/nginx.conf
http配置块里:
server {
# 监听9800
listen 9800;
# 域名设为 www.work.com
server_name www.work.com;
location / {
# 访问根目录是html/work
root html/work;
index index.html index.htm;
}
}
/usr/local/openresty/nginx/conf/nginx.conf
文件整体内容如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
# 监听8000
listen 8000;
# 域名设为 www.sea.com
server_name www.sea.com;
location / {
# 访问根目录是html/sea
root html/sea;
index index.html index.htm;
}
}
server {
# 监听8800
listen 8800;
# 域名设为 www.sea.com
server_name www.side.com;
location / {
# 访问根目录是html/side
root html/side;
index index.html index.htm;
}
}
server {
# 监听9800
listen 9800;
# 域名设为 www.work.com
server_name www.work.com;
location / {
# 访问根目录是html/work
root html/work;
index index.html index.htm;
}
}
}
/usr/local/openresty/nginx/sbin/nginx -s reload
可以在不断开已有连接的基础上重新加载/usr/local/openresty/nginx/conf/nginx.conf
。
echo "127.0.0.1 www.sea.com www.side.com www.work.com" >> /etc/hosts
将127.0.0.1 www.sea.com www.side.com www.work.com
写入/etc/hosts
里边。
mkdir /usr/local/openresty/nginx/html/sea /usr/local/openresty/nginx/html/side /usr/local/openresty/nginx/html/work
在/usr/local/openresty/nginx/html
创建三个目录sea
、side
和work
。
执行下边命令:
echo "hello sea" > /usr/local/openresty/nginx/html/sea/index.html # 在/usr/local/openresty/nginx/html/sea/index.html写入 hello sea
echo "hello side" > /usr/local/openresty/nginx/html/side/index.html # 在/usr/local/openresty/nginx/html/side/index.html写入 hello side
echo "hello work" > /usr/local/openresty/nginx/html/work/index.html # 在/usr/local/openresty/nginx/html/work/index.html 写入 hello work
curl http://www.sea.com:8000
可以访问虚拟域名www.sea.com
的8000
端口。
curl http://www.side.com:8800
可以访问虚拟域名www.side.com
的8800
端口。
curl http://www.work.com:9800
可以访问虚拟域名www.work.com
的9800
端口。
此文章为8月Day 26学习笔记,内容来源于极客时间《Linux 实战技能 100 讲》。