云服务器Centos7部署Nginx让Apache+PHP和Tomcat+Java同时运行(同一IP多域名多网站配置)

----发现错误或遗漏,请联系本人更正----


一、前言

我有一台云服务器,一个公网IP,一个域名。目前准备搭建两个网站,分别使用Java和PHP开发。我想要这两个网站都部署在一台云服务器上,且别人可以通过域名访问这两个网站,不需要输入IP和端口号。

本人是个菜鸟,很多东西都不懂。在百度、CSDN、B站搜了一整天,各种安装配置报错,怒而多次重装服务器。半夜不睡觉,搞到凌晨3点多,综合了好几处资料,才摸索成功,实现在云服务器上利用Nginx让Apache+PHP和Tomcat+Java同时运行,通过默认的80端口的访问请求都到了Nginx,Nginx根据子域名进行转发。这样别人使用子域名就能访问我在同一个服务器上部署的不同编程语言写的多个网站了,也不用使用我觉得碍眼的端口。

二、准备

1.准备一台云服务器,一般云服务器会自带一个公网IP,我用的是腾讯云,操作系统是CentOS 7.6

2.准备一个主域名,并解析子域名。比如主域名aaa.com,解析b.aaa.com与c.aaa.com两个子域名,每个子域名用来指向一个网站

3.去云服务器后台放开端口号限制(只要保证跟后面配置文件设定的一致就行,我用的是8081,8082)

image-20220403140210974

4.准备Java与PHP网站代码,随便找个测试网页就行,后期做好网站再替换上去

三、安装

1.安装Apache和PHP

yum -y install httpd
yum -y install php

注意:使用此方法安装Apache,httpd.conf配置文件位置在/etc/httpd/conf目录下

2.安装php的扩展

yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc

3.安装java及tomcat

yum -y install java-1.8.0-openjdk
yum -y install tomcat

注意:使用此方法安装Tomcat,server.xml配置文件位置在/etc/tomcat目录下

4.安装Nginx

yum -y install nginx

注意:使用此方法安装Nginx,nginx.conf配置文件位置在/etc/nginx目录下

安装Nginx时,若遇到缺少rpm包的情况,解决方法是先安装Nginx的yum源

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

5.安装MySQL,参照这个帖子即可

转载于:https://blog.csdn.net/Bb15070047748/article/details/106245223

安装MySQL时,若遇到GPG 密钥已过期的情况,解决方法是重新导入新的秘钥

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

6.常用操作命令(服务的启动、关闭与自启设置)

6.1 Tomcat
启动Tomcat服务

systemctl start tomcat.service

关闭Tomcat服务

systemctl stop tomcat.service

设置开机自动启动

systemctl enable tomcat.service

6.2 Apache
启动Apache服务

systemctl start httpd.service

关闭Apache服务

systemctl stop httpd.service

设置开机自动启动

systemctl enable httpd.service

6.3 Nginx
启动Nginx服务

systemctl start nginx.service

关闭Nginx服务

systemctl stop nginx.service

设置开机自动启动

systemctl enable nginx.service

6.4 查看某服务的状态或报错信息

systemctl status tomcat.service
systemctl status httpd.service
systemctl status nginx.service

7.在开始端口修改之前先使用上面的命令关闭这三个服务

systemctl stop tomcat.service
systemctl stop httpd.service
systemctl stop nginx.service

四、配置

1.修改Tomcat端口号

在/etc/tomcat目录下,将server.xml配置文件的默认端口号8080改为8081

cd /etc/tomcat
vim server.xml

image-20220403144154478

2.修改Apache端口号

在/etc/httpd/conf目录下,将httpd.conf配置文件的默认端口号80改为8082

cd /etc/httpd/conf
vim httpd.conf

image-20220403143613660

3.修改Nginx

在/etc/nginx/conf.d目录下,新建后缀名为.conf的配置文件,一个网站建一个配置文件。配置文件名称需要与下文要修改的nginx.conf配置文件保持一致,我写的是javablog.conf和phptest.conf

cd /etc/nginx/conf.d
vim javablog.conf
  upstream java {
        server 127.0.0.1:8081;
 #将127.0.0.1更换为云服务器的公网IP,8081是前面配置的Tomcat端口号,保持一致即可
  }
  server {
          listen       80;
          server_name b.aaa.com; 
          #将b.aaa.com替换为自己准备的Java网站子域名
         location /
          {
              proxy_next_upstream http_502 http_504 error timeout invalid_header;
              proxy_set_header Host  $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_pass http://java;
              index  index.html index.php;
          }
  }
vim phptest.conf
  upstream php {
        server 127.0.0.1:8082;
 #将127.0.0.1更换为云服务器的公网IP,8082是前面配置的Apache端口号,保持一致即可
  }
  server {
          listen       80;
          server_name c.aaa.com; 
          #将c.aaa.com替换为自己准备的PHP网站子域名
         location /
          {
              proxy_next_upstream http_502 http_504 error timeout invalid_header;
              proxy_set_header Host  $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_pass http://php;
              index  index.html index.php;
          }
  }

在/etc/nginx目录下,修改nginx.conf配置文件,将下图标出来的两行代码注释掉

cd /etc/nginx
vim nginx.conf

image-20220403155735971

将下文两行信息放在自己注释的第一行代码下面

include /etc/nginx/conf.d/javablog.conf; #将javablog.conf替换为自己写的java网站配置文件名称
include /etc/nginx/conf.d/phptest.conf; #将phptest.conf替换为自己写的PHP网站配置文件名称

image-20220403155753190

每次修改nginx.conf配置文件,需要加载才能生效

nginx -c /etc/nginx/nginx.conf
nginx -s reload

可能需要用到的命令(杀进程)

netstat -ntlp|grep 80
kill -9 26136 #将26136替换为查询到的端口号

五、启动

1.将Java网站文件放在/var/lib/tomcat/webapps/ROOT目录下

image-20220403161916389

2.将PHP网站文件放在/var/www/html目录下

image-20220403162053689

3.启动Tomcat、Apache、Nginx服务,Nginx服务必须最后启动

systemctl start tomcat.servic
systemctl start httpd.service
systemctl start nginx.service

4.设置各服务开机自动启动

systemctl enable tomcat.service
systemctl enable httpd.service
systemctl enable nginx.service

六、访问

1.在浏览器输入自己设置的子域名,即可进行访问。如果网页出现Welcome to Nginx 或Welcome to Centos,可能就是Nginx配置错误,配置不生效等问题。我的解决办法就在上文,按我写的操作方法,目前亲测未遇到问题。

image-20220403163248097

2.顺便说一下,Nginx配置错误,配置不生效情况下,默认访问的是Nginx默认目录/usr/share/nginx/html,网页上展示的就是其中的index.html文件

image-20220403164550593


----发现错误或遗漏,请联系本人更正----

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 阿里ECS(Elastic Compute Service)服务器部署Java Web项目的整个流程如下: 1. 购买阿里ECS服务器:首先,需要在阿里官网购买一个ECS服务器。选择适合的配置和操作系统(如CentOS、Ubuntu等),并确保服务器已经成功启动。 2. 连接到ECS服务器:使用SSH(Secure Shell)工具,如Putty等,通过服务器的公网IP地址和默认的22端口,连接到ECS服务器。 3. 安装Java开发环境:在ECS服务器上安装Java开发环境,包括JDK(Java Development Kit)和JRE(Java Runtime Environment)。可以通过命令行方式或者下载安装包方式进行安装。 4. 配置服务器环境:根据需要,可以安装并配置容器化技术如Docker,以及服务器软件如TomcatNginx等,用于部署运行Java Web项目。 5. 上传项目文件:将Java Web项目的相关文件(如WAR包或者源代码)上传到ECS服务器。可以使用FTP(File Transfer Protocol)工具,如FileZilla等,将文件上传到服务器的指定目录。 6. 构建和部署项目:在ECS服务器上使用命令行工具,进入项目文件所在的目录,使用Maven或者Gradle等构建工具,运行构建命令,编译、打包Java Web项目。 7. 配置项目运行环境:根据项目要求,可能需要修改配置文件,如数据库连接信息、缓存配置等。可以使用文本编辑器或者命令行工具进行修改。 8. 启动项目:使用命令行工具,运行Java Web项目的启动命令,如启动Tomcat容器。可以查看启动日志,确认项目是否成功启动。 9. 监控和管理项目:使用阿里的应用监控工具或者第三方工具,对Java Web项目进行监控和管理,如查看应用的性能指标、错误日志和访问日志等。 10. 绑定域名配置SSL证书(可选):如果需要通过域名访问Java Web项目,可以在阿里域名服务中,将域名解析到ECS服务器的公网IP地址,并配置SSL证书,实现HTTPS访问。 总结起来,阿里ECS服务器部署Java Web项目的流程包括购买服务器、连接服务器、安装Java开发环境、配置服务器环境、上传项目文件、构建和部署项目、配置项目运行环境、启动项目、监控和管理项目,以及绑定域名配置SSL证书(可选)。 ### 回答2: 阿里ECS服务器部署JavaWeb项目的整个流程如下: 1. 登录阿里官网,购买一台ECS服务器,选择合适的配置和系统镜像。 2. 在服务器ECS的控制台上,找到已购买的服务器实例,并记录下服务器实例的公网IP地址。 3. 在本地开发环境,将JavaWeb项目打包成war文件。 4. 使用FTP工具(如FileZilla)将war文件上传到ECS服务器。连接ECS服务器的方法为使用用户名和密码连接到服务器实例的公网IP。 5. 在ECS服务器上安装Java运行环境,执行以下命令: ``` yum update -y # 更新系统 yum install java-1.8.0-openjdk-devel -y # 安装Java环境 ``` 6. 配置ECS服务器的防火墙规则,允许对应的端口访问。通常JavaWeb项目使用的是8080端口,可以在ECS的安全组中开放对应的端口。 7. 在ECS服务器上启动Tomcat服务器,执行以下命令: ``` cd /usr/local # 进入Tomcat安装目录 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz # 下载Tomcat tar -zxvf apache-tomcat-9.0.52.tar.gz # 解压Tomcat cd apache-tomcat-9.0.52/bin # 进入Tomcat的bin目录 ./startup.sh # 启动Tomcat ``` 8. 在浏览器中输入ECS服务器的公网IP地址和Tomcat使用的端口号,例如:http://公网IP:8080/,即可访问部署好的JavaWeb项目。 以上就是阿里ECS服务器部署JavaWeb项目的整个流程。当然,根据具体的项目和需求,可能会涉及到其他配置和操作,例如数据库的连接、SSL证书的安装等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值