搭建Apache、Tomcat、MySQL Web3层系统(Ubuntu 18.04.3)
环境- 不使用电脑时,我看到了很多美丽的风景。
以下是中文版本的释义:
・Ubuntu 18.04.3 桌面版
・Apache 2.4.29(Ubuntu)
・openjdk 版本 1.8.0_151
・Apache Tomcat 8.5.81
・mysql 版本 8.0.30(适用于 x86_64 的 Linux,MySQL 社区服务器 – GPL)
・mysql-connector-java-8.0.30.jar
在构建Ubuntu 18.04.3时的初始设置。
希望您能参考我下面的文章:https://qiita.com/maplejava/items/a11f2d14350231c9b2ef
配置JDBC驱动程序
请参考以下网站,在 WEB-INF/lib 文件夹内安装并部署所需的 JDBC 驱动。
https://qiita.com/Yuriko-Y/items/d4c5cb29780ce0347375
建立网络服务器
安装 Apache
> sudo apt install apache2
/etc/apache2/conf-available/fqdn.conf 可选配置为 Chinese :
・/etc/apache2/conf-available/fqdn.conf
//↓追記
ServerName localhost
> chown 644 fqdn.conf
> a2enconf fqdn
> systemctl restart apache2
为了增强安全性,将添加隐藏版本的设置。
– /etc/apache2/apache2.conf
//↓最終行に追記
ServerSignature Off
服务的自动启动设置
> systemctl enable apache2
//ついでに設定反映のためのサービス再起動
> systemctl restart apache2
打开防火墙的洞
> ufw allow 80
> ufw enable
> y
//確認
> ufw status
搭建AP服务器
JDK的安装
> sudo apt install openjdk-8-jdk
添加系统环境变量
> export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
> echo $JAVA_HOME
> vi ~/.profile
//↓追記
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"
export JAVA_HOME
只需提供一种选项:
如果在/etc/profile中进行设置,则会应用于所有用户。
以~/.profile开头的文件将仅适用于执行它的用户。
Tomcat的安装
> sudo apt install tomcat8 tomcat8-admin
> vi /etc/tomcat8/tomcat-users.xml
设置访问Manager App时的用户。
//↓追記
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
请随意输入用户名(username)和密码(password)的值。
服务的自动启动设置
> systemctl enable tomcat8
//ついでに設定反映のためのサービス再起動
> systemctl restart tomcat8
尽管会出现类似的警告,但并不需要太过担心。
tomcat8.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable tomcat8
破解防火墙
> ufw allow 8080
> ufw enable
> y
//確認
> ufw status
导入WAR文件
从与AP服务器相同的子网上的PC等设备访问http:/[AP服务器的IP地址]/:8080。
→点击”Manager App”。
→在要求输入用户名和密码时,输入在tomcat-users.xml中指定的”username”和”password”。
→在”Tomcat Web应用程序管理器”界面的”部署WAR文件”中导入想要部署的WAR文件到Tomcat。
※ 或者将WAR文件放置在AP服务器的”/var/lib/tomcat8/webapps”下也是可以的。
→如果在PC上可以通过http://[AP服务器的IP地址]:8080/[WAR文件名]/[Servlet的上下文路径]访问成功,则表示操作成功。
创建DB服务器
安装MySQL
> wget https://dev.mysql.com/get/mysql-apt-config_0.8.23-1_all.deb
> dpkg -i mysql-apt-config_0.8.23-1_all.deb
然后,类似于图形用户界面的东西会显示出来,
MySQL Server & Cluster(当前选中:mysql-8.0)
→ mysql-8.0
→ 确定
依次选择。
> apt-get upgrade
> apt-get update
> sudo apt install mysql-server
然后GUI会再次出现,并询问root密码,请输入任意密码并选择确定。
服务的自动启动设置
> systemctl enable mysql
翻译:绕过防火墙
> ufw allow 3306
> ufw enable
> y
//確認
> ufw status
建立数据库
使用以下命令以root身份登录到mysql数据库。
> mysql -u root -p
根据以下文章中的命令,构建数据库。
https://qiita.com/ksugawara61/items/9db198041dec159ed0fe
创建并允许外部连接的数据库用户
mysql> CREATE USER ユーザ名@'[APサーバのIPアドレス]' IDENTIFIED BY '接続時のパスワード';
mysql> GRANT ALL PRIVILEGES ON データベース名.テーブル TO ユーザ@'[APサーバのIPアドレス]';
//MYSQLサービス再起動
> systemctl restart mysql
※数据库名.表可以使用星号“*”。例如,“*.*”允许访问所有数据库和表。
另外,“数据库名.*”允许访问该数据库的所有表。
Apache Tomcat的整合
在设置后的图像中,
客户端终端→Web服务器(80号端口)→AP服务器(8009号端口)
※原本AP服务器(Tomcat)接受8080号端口。
用中文原生表达以下内容,仅需要一种选项:
穿越防火墙
在AP服务器上执行以下命令。
//ナンバー付きでFWの設定を表示
> ufw status numbered
//8080ポート開放設定を削除(8080が2番目の設定である場合)
> ufw delete 2
//8009を新規に開放
> ufw allow 8009
> reboot
//確認
> ufw status
网络服务器
> sudo a2enmod proxy
> sudo a2enmod proxy_ajp
> vi /etc/apache2/apache2.conf
※192.168.1.11是Tomcat服务器的IP地址。
//↓追記
ProxyPass / ajp://192.168.1.11:8009/
ProxyPassReverse / ajp://192.168.1.11:8009/
> systemctl restart apache2
AP服务器
・/etc/tomcat8/server.xml
/etc/tomcat8/server.xml文件
> vi /etc/tomcat8/server.xml
注释掉8080的描述并补充以下内容。
//↓追記
<Connector protocol="AJP/1.3"
port="8009"
redirectPort="8443"
address="0.0.0.0"
secretRequired="false" />
在访问 http://192.168.1.10/[ProxyPass后指定的关键词]/[war文件名]/[Servlet的上下文路径] 时,如果可以访问,那么设定就完成了。请注意:192.168.1.10 是 Web 服务器的 IP 地址。不需要指定端口号。本次关键词为 “/”,所以可以省略。