在一个服务器上搭建多个网站如何实现
三种方案:IP来区分、端口号来区分、host来区分
如nginx中
IP来区分:
server {
listen 1.1.1.1:80;
}
server {
listen 2.2.2.2:80;
}
端口号来区分:
server {
listen 1.1.1.1:80;
}
server {
listen 1.1.1.1:81;
}
host(主机头)来区分:
server {
listen 1.1.1.1:80;
server_name www.a.com
}
server {
listen 1.1.1.1:80;
server_name www.b.com
}
一个服务器搭建两个网站案例
第一步:
[root@ubuntu2004]#mkdir /data/site_a/ROOT -p 创建网站数据存放a目录,数据必须放在ROOT下
[root@ubuntu2004]#mkdir /data/site_b/ROOT -p 创建网站数据存放b目录,数据必须放在ROOT下
在创建的a、b目录中放入测试数据
[root@ubuntu2004 site_a]#rz -E
rz waiting to receive.
修改内容,让a、b各自目录的测试数据内容不同
[root@ubuntu2004 data]#tree (jsp文件需index.jsp)
.
├── site_a
│ └── index.jsp
└── site_b
└── index.jsp
2 directories, 2 files
修系统带的默认数据留着
第二步:修改tomcat中的serverxml配置
配置两个网站的域名以及数据存放的路径,如果想单独产生访问日志文件,可以在网站配置下把日志格式复制在下面并改日志名字
重启tomcat:
[root@ubuntu2004 ~]#systemctl restart tomcat.service
DNS解析 10.0.0.100 www.a.com www.b.com
去网页访问 www.a.com:8080 www.b.com:8080
Tomcat Website www.b.com
On www.b.com
10.0.0.100:8080
SessionID = C87C881167876C3A38CE1D84A206A1F5
Tue Sep 27 17:51:36 CST 2022
主网站下的副业务如何配置
[root@ubuntu2004]#mkdir /data/site_a/app1
在创建的app1目录中放入测试数据
[root@ubuntu2004 site_a]#rz -E
rz waiting to receive.
修改内容,让a、b、app1各自目录的测试数据内容不同
去网页访问副业务 www.a.com:8080/app1/ 此app1与ROOT平级
Context配置
作用:路径映射:将url映射至指定路径,而非使用appBase下的物理目录,实现虚拟目录功能
应用独立配置,例如单独配置应用日志、单独配置应用访问控制
[root@ubuntu2004 ~]#mkdir /opt/site_a/app2/ -p 映射路径
在创建的目录中放入测试数据
[root@ubuntu2004 site_a]#rz -E
rz waiting to receive.
修改数据内容
更改server.xml配置
[root@ubuntu2004 ~]#vim /usr/local/tomcat/conf/server.xml
其中就是映射路径
还可以添加日志等独立的配置
改完之后保存并重启tomcat服务
实战案例:部署基于JAVA的博客系统JPress
官方网站:http://www.jpress.io/
安装包下载
第一步:
[root@ubuntu2004]#mkdir /data/jpress/ -p 创建网站数据存放的目录
把下载好的包拉进/data/jpress/目录,并改名为ROOT.war,它会自动解压成一个ROOT文件夹
[root@ubuntu2004 jpress]#rz -E
rz waiting to receive.
[root@ubuntu2004 jpress]#ls
jpress-v4.2.0.war
[root@ubuntu2004 jpress]#mv jpress-v4.2.0.war ROOT.war
[root@ubuntu2004 jpress]#ls
ROOT.war
第二步:更改server配置文件
[root@ubuntu2004 jpress]#vim /usr/local/tomcat/conf/server.xml
[root@ubuntu2004 jpress]#chown -R tomcat. /data/jpress/ 更改权限
[root@ubuntu2004 jpress]#systemctl restart tomcat.service
[root@ubuntu2004 jpress]#ls
ROOT ROOT.war
做DNS解析 10.0.0.100 jpress.meng.com
去网页访问 jpress.meng.com:8080 出现jpress页面
在MySQL中创建账号并授权
修改身份验证插件(改成传统的)MySQL8.0需要修改认证插件
[root@ubuntu2004 ~]#vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
default_authentication_plugin=mysql_native_password
重启MySQL
[root@ubuntu2004 ~]#systemctl restart mysql.service
mysql> create database jpress;
Query OK, 1 row affected (0.07 sec)
mysql> create user jpress@'127.0.0.1' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on jpress.* to jpress@'127.0.0.1';
Query OK, 0 rows affected (0.01 sec)
去jpress网站输入信息创建jpress博客
端口号问题: 8080端口映射80端口
可用防火墙规则更改端口映射
[root@ubuntu2004 ~]#iptables -t nat -A PREROUTING -d 10.0.0.100 -p tcp --dport 80 -j REDIRECT --to-ports 8080
改完之后,去网页直接访问http://jpress.meng.com/ 监听端口还是8080,也可用nginx反向代理
[root@ubuntu2004 ~]#vim /etc/nginx/sites-enabled/jpress.conf
server {
listen 80;
server_name jpress.meng.com;
location / {
proxy_pass http://jpress.meng.com:8080;
}
}
nginx -s reload
[root@ubuntu2004 ~]#vim /etc/hosts DNS解析
127.0.0.1 jpress.meng.com
最好方法是加主机头,不用解析
[root@ubuntu2004 ~]#vim /etc/nginx/sites-enabled/jpress.conf
server {
listen 80;
server_name jpress.meng.com;
location / {
proxy_pass http://jpress.meng.com:8080;
proxy_set_header host $http_host;
}
}
8080改80端口三种方法(一般来说用第三种)
1 root 启动 修改tomcat。server.xml
vim /lib/systemd/system/tomcat.service
User=tomcat
Group=tomcat
[root@ubuntu2004 ~]#vim/usr/local/tomcat/conf/server.xml
tomcat默认页面三个选项
server status /usr/local/tomcat/webapps/manager/
manager app /usr/local/tomcat/webapps/manager/
host manager /usr/local/tomcat/webapps/host-manager/
第一个点进去需要授权:改文件
[root@ubuntu2004 ~]#vim /usr/local/tomcat/conf/tomcat-users.xml
在最后一行上面添加,这行内容在web页面复制
重启tomcat服务
在本机装上火狐浏览器 apt -y install firefox
在本机打开[root@ubuntu2004 conf]#firefox http://127.0.0.1:8080
打不开改文件:
vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|10.0.0.d+" />
重启服务
去网页访问 输入账号密码 tomcat 123456 显示tomcat状态页面
也可以命令行显示
[root@ubuntu2004 META-INF]#curl http://womcat:123456@10.0.0.100:8080/manager/status
curl -u tomcat:123456 http://10.0.0.100:8080/manager/status 也可以
第二个点进去可以管理: 停止或者启动
第三个点进去需要授权:改文件 虚拟主机管理员
vim /usr/local/tomcat/conf/tomcat-users.xml
vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml 只是下面内容
重启服务
面试题:TOMCAT有哪些端口
8080和8005
8005用于停止tomcat服务
telnet 127.0.0.1 8005
SHUTDOWN
只能停不能起,用普通用户也可以进行关闭,有安全风险,需要关闭
把8005端口改成-1端口
[root@ubuntu2004 ~]#vim /usr/local/tomcat/conf/server.xml
把jsp文件打包成war包
jar cvf /root/hello.war *
把hello.war放到webapps下,会自动解开一个hello的文件,去网页访问www.a.com:8080/hello/session
定制版本号
[root@ubuntu2004 ~]#vim /usr/local/tomcat/conf/server.xml
[root@ubuntu2004 ROOT]#systemctl restart tomcat.service
curl -u tomcat:123456 http://10.0.0.100:8080/manager/status -I 访问可看到tomcat版本被改
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: gitlab-runner 中的 Docker-in-Docker
笔者个人理解:gitlab-runner 安装后就是一个监听状态的 runner,而通过 gitlab-runner register 注册的“实例”其实只是预定义的配置节,当消息抵达后,gitlab-runner 根据消息内容选择相应的配置节启动执行线程。为…