Ubuntu之项目部署

1.安装配置JDK

1.1.创建目录并上传文件

/usr/local目录下创建mytools目录,用于存放后续所有的安装文件。

# 创建目录
mkdir /usr/local/mytools
# 安装配置rz服务

apt update
sudo apt install lrzsz
# 上传文件
sudo rz jdk-8u151-linux-x64.tar.gz 

1.2.解压JDK压缩包

 将上传至/usr/local/mytools/目录下jdk压缩包文件,解压至指定的/usr/local目录中

 # 切换目录
cd /usr/local/mytools
# 解压文件
sudo tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local

 在解压的时候 -C 是解压到指定目录中,一定要加-C参数,而且区分大小写的。 &&可将多条命令合成一行

cd /usr/local/mytools && tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local 
  • tar文件解压缩命令:

  • # 压缩
    sudo tar -zcvf  压缩名.tar.gz 文件/目录
    # 解压
    sudo tar -zxvf 压缩包名
    # 静默解压
    sudo tar -zxf  压缩包名

  • zip文件解压缩命令:

  • # 压缩
    sudo zip -q -r 压缩包名.zip 目录/文件名
    # 解压
    sudo unzip filename.zip

1.3.配置JDK环境变量

执行 vim /etc/profile 命令,在文件最后添加如下内容。

#java environment
export JAVA_HOME=请修改JDK解压路径
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

注意!请修改export JAVA_HOME=请修改JDK解压路径对应的JDK路径。  

1.4.设置环境变量生效

# 设置环境变量生效,一定要执行!!!
source /etc/profile
# 查看环境变量是否配置成功
java -version

2.安装配置Tomcat

2.1.上传Tomcat并解压

将tomcat压缩包文件上传至/usr/local/mytools目录,并解压到/opt目录中。

# 上传Tomcat
sudo rz apache-tomcat-8.5.20.tar.gz
# 解压Tomcat到指定目录
sudo tar -zxvf apache-tomcat-8.5.20.tar.gz -C /opt

2.2.配置访问权限

切换到/opt目录,将目录下的apache-tomcat-8.5.20目录的访问权限分配给zking用户。

# 切换到opt目录
cd /opt    
# 更改目录的所有者和所属组
sudo chown zking:zking -R apache-tomcat-8.5.20/ 

 执行chown命令时所携带的-R参数表示递归更改权限。

2.3.启停Tomcat

# 切换目录
cd /opt/apache-tomcat-8.5.20/bin
# 通过startup.sh方式启动Tomcat
./startup.sh
# 通过shutdown.sh方式停止Tomcat
./shutdown.sh
# 通过catalina.sh方式启动Tomcat
./catalina.sh run

由于Ubuntu 22.04系统中的UFW防火墙是未开启状态,所以tomcat启动后外部浏览器依然可以访问。

 执行以下命令查看UFW防火墙状态:

# 查看UFW防火墙状态
sudo ufw status

显示inactive状态表示UFW防火墙未激活,显示active状态表示UFW防火墙已激活。  

 查看tomcat启动进程以及使用如何强制杀掉进程:

# 查看tomcat启动进程信息
ps -ef|grep java
# 强制杀掉进程
kill -9 进程PID

2.4.UFW防火墙

由于Ubuntu下的iptables操作起来比较复杂,依赖关系比较多,所以使用UFW时可以简化很多操作。

Ubuntu 22.04系统中,UFW是一种简单的防火墙服务,可以帮助你保护计算机免受恶意攻击。它可以轻松地配置规则,以允许或阻止特定的IP地址、端口和协议通过网络访问服务器。

如果你的Ubuntu 22.04系统尚未安装UFW,则需要先进行安装。可以使用以下命令进行安装

# 安装UFW
sudo apt -y install ufw

 注意:Ubuntu 22.04系统默认已经安装好UFW防火墙。

 查看UFW防火墙的运行状态:

# 查看UFW状态(2种方式都可以)
# 1)查看UFW服务状态并显示允许的端口列表信息
sudo ufw status
# 2)查看UFW服务状态
systemctl status ufw

 开启UFW防火墙并设置开机自启动

# 启动UFW防火墙,并设置开机启动
sudo ufw enable
sudo ufw default deny
# 停止UFW防火墙,禁止开机启动
sudo ufw disable

 查看UFW中的活动规则列表:

# 该命令将显示当前所有的UFW规则,包括默认规则和已添加的规则
sudo ufw status verbose

添加删除UFW防火墙规则:  

# 开放80端口
sudo ufw allow 80/tcp
# 允许访问ssh服务
sudo ufw allow ssh
# 禁止80端口
sudo ufw delete allow 80/tcp
# 禁止访问stmp服务
sudo ufw delete allow stmp
# 重置所有的规则
sudo ufw reset
# 设置默认策略为拒绝所有传入连接,允许所有传出连接
sudo ufw default deny incoming
sudo ufw default allow outgoing

 最后,在启动了UFW防火墙之后,一定要配置SSH服务运行访问。不然所有的用户(包括root)都无法通过shellfinalshell或者MobaXterm等工具实现SSH的远程登录。

# 允许访问ssh服务
sudo ufw allow ssh
#添加8080端口
sudo ufw allow 8080/tcp

2.5.自启动配置

切换到指定目录下,并创建tomcat.service文件。

# 切换目录
cd /usr/lib/systemd/system

# 编辑tomcat.service文件
vim tomcat.service

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
Environment='JAVA_HOME=/usr/local/jdk1.8.0_151'
Environment='CATALINA_PID=/opt/apache-tomcat-8.5.20/tomcat.pid'
Environment='CATALINA_HOME=/opt/apache-tomcat-8.5.20/'
Environment='CATALINA_BASE=/opt/apache-tomcat-8.5.20/'
#Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
 
PIDFile=/opt/apache-tomcat-8.5.20/tomcat.pid
ExecStart=/opt/apache-tomcat-8.5.20/bin/catalina.sh start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

修改tomcat.service文件中的tomcat和jdk的路径。(重要!重要!重要!)

 配置Tomcat自启动服务:

# 设置自动启
sudo systemctl enable tomcat  
# 重载服务
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start tomcat

重启或关闭虚拟机:

 # 重启
sudo reboot 或者 sudo shutdown -r now
# 关机
sudo poweroff 或者 sudo shutdown -h now

 3.安装配置MySQL

回到安装目录

cd /usr/local/mytools

 在进行任何软件安装之前,请确保你的系统的软件包列表是最新的。打开终端并运行以下命令:

sudo apt update

在更新软件包列表后,这里我们可以查看一下可使用的MySQL安装包:

# 查看可使用的安装包
sudo apt search mysql-server

接下来可以使用以下命令安装MySQL服务器:

如果不加-y 会在安装过程中,系统将提示你设置MySQL的root密码。确保密码足够强,且记住它,因为你将在以后需要用到它。

 #安装指定版本
sudo apt install -y mysql-server-8.0

 安装完成后,MySQL服务会自动启动,未启动则使用以下命令启动MySQL服务:

sudo systemctl start mysql

并将MySQL设置为开机自启动:

sudo systemctl enable mysql

你可以使用以下命令来检查MySQL是否正在运行:

systemctl status mysql

登录mysql,在默认安装时如果没有让我们设置密码,则直接回车就能登录成功。

mysql -uroot -p

设置密码 mysql8.0

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; 

# 刷新缓存

flush privileges;

 给mysql远程访问权限,进入修改,按照下面格式修改

vim /etc/mysql/mysql.conf.d/mysqld.cnf

登录MySQL,并设置允许以root身份远程登录MySQL。  

# 登录mysql
mysql -u root -p
# 输入密码...

# 切换到mysql数据库
mysql> use mysql;
# 允许以root身份远程登录mysql
mysql> update user set host = '%' where user = 'root';
# 输入后使修改生效
mysql> FLUSH PRIVILEGES;

 将MySQL访问端口3306添加到UFW防火墙允许访问列表中。(ubuntu默认可以访问MySQL)

sudo ufw allow mysql

重启mysql

systemctl restart mysql 

查看mysql 状态

systemctl status mysql

4.安装nginx

4.1.使用apt安装Nginx

sudo apt -y install nginx

 apt方式安装nginx,它的安装根目录为/etc/nginx。

查看nginx版本:

# 显示 nginx 的版本
nginx -v
# 显示 nginx 的版本,编译器版本和配置参数
nginx -V

4.2.配置防火墙

将nginx默认访问端口80进入到防火墙中。

sudo ufw allow 80/tcp
sudo ufw reload

4.3启动后效果

# 启动n ginx服务
sudo systemctl start nginx
# 查询nginx服务启动状态
sudo systemctl status nginx

启动成功后,在浏览器中输入访问地址,效果如下:  

动静分离

配置

将SPA项目压缩并上传到/usr/nginx/html目录,再解压。

# 创建目录
sudo mkdir -p /usr/nginx/html
# 切换目录
cd /usr/nginx/html
# 上传SPA项目
sudo rz dist.zip
# 解压
sudo unzip dist.zip

#没有unzip安装

apt -y install unzip

 修改nginx核心配置文件/etc/nginx/sites-enabled/default

# 切换目录
cd /etc/nginx/sites-enabled
# 备份
sudo cp default default.bak
# 编辑conf.d文件
sudo vim default

#找到放静态文件的地方改为自己存放的位置

root /var/local/html    -》 /usr/nginx/html

 因为sites-enabled中有两个defult所以我们需要将nginx.conf中的include指定

并添加SPA项目访问映射规则。

location /{
        try_files $uri $uri/ /index.html;
        }

最后,重启nginx服务并访问SPA项目。  

# 重启nginx服务
sudo systemctl restart nginx

Nginx实现反向代理

修改nginx核心配置文件/etc/nginx/sites-enabled,配置nginx反向代理。

 location ^~ /edu/ {
    	proxy_pass http://127.0.0.1:8080/;
    }
    location ^~ /zki/ {
    	proxy_pass http://127.0.0.1:8081/;
    }

proxy_pass说明是动态请求,需要进行转发,比如代理到Tomcat上。

Nginx实现负载均衡

拷贝一个Tomcat,将其端口信息修改为8081,并将8081端口加入到防火墙允许访问规则中,然后分别启动这两台Tomcat

修改nginx核心配置文件/etc/nginx/sites-enabled,配置nginx负载均衡  

upstream tomcats{
    server 127.0.0.1:8080 weight=1;
    server 127.0.0.1:8081 weight=2;
}

    location ^~ /api/ {
        proxy_pass http://tomcats/;
    }
}

有可能会出现nginx重启失败的问题,我们自己手动敲一下这些(启动成功后把所有服务全部重启)

第一,通过upstream来定义一组Tomcat,并指定负载策略(IPHASH、加权论调、最少连接),健康检查策略(Nginx可以监控这一组Tomcat的状态)等。 第二,将proxy_pass替换成upstream指定的值即可。

本机配置域名

路径

C:\Windows\System32\drivers\etc

host文件添加域名如下 虚拟机ip + 域名

192.168.85.152 www.zking.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值