一.安装必要依赖插件
yum install -y gcc gcc-c++ pcre \pcre-devel zlib zlib-devel openssl openssl-devel wget
使用 yum 安装 nginx
yum install nginx
二.创建文件夹并切换过去
mkdir /nginx && cd /nginx
下载安装包 (同样如果想安装其他的版本,可以去下面官网链接,选择其他版本的链接进行拷贝替换)
下载地址:https://nginx.org/en/download.html可以下载最新版本也可以用中间版本
wget https://nginx.org/download/nginx-1.18.0.tar.gz
1.解压并安装
tar -zxvf nginx-1.18.0.tar.gz
cd /uer/local/nginx/nginx-1.18.0
2.进行configure配置
进入nginx-1.6.2目录然后在执行./configure命令
[root@iZ2ze56pkpio47azefjocrZ nginx-1.18.0]# ./configure --prefix=/usr/local/nginx
3.编译安装
[root@iZ2ze56pkpio47azefjocrZ nginx-1.18.0]# make && make install
4.如果要关闭nginx,我们可以使用如下命令:
[root@MiWiFi-R3-srv nginx-1.6.2]# /usr/local/nginx/sbin/nginx -s stop
5.如果想要重新热启动nginx,则使用如下命令:
[root@MiWiFi-R3-srv nginx-1.6.2]# /usr/local/nginx/sbin/nginx -s reload
如下:
6.添加nginx服务
vim /lib/systemd/system/nginx.service
7.将以下内容插入:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
8.以服务的方式启动nginx
systemctl start nginx
9.查看服务是否启动
systemctl status nginx
10.配置nginx服务开机自动启动
systemctl enable nginx
11.重启nginx:
systemctl restart nginx
三.通过Nginx对项目部署linux-tomcat通过8080访问
1. 打开Nginx安装路径
cd /usr/local/nginx
2. 虚拟域名修改window的hosts文件添加虚拟域名映射,文件位置如下:
C:\Windows\System32\drivers\etc\hosts
另外,此文件有可能出现由于当前用户权限不够,出现无法修改的情况?解决方案将此文件复制到d硬盘任一目录,修改后,再复制替换C:\Windows\System32\drivers\etc\hosts原文件
3. 打开conf文件编辑Nginx.conf文件:
vim /usr/local/nginx/nginx-1.18.0/conf/nginx.conf
开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
刷新防火墙配置
firewall-cmd --reload
查看所有端口号
firewall-cmd --list-port
停止防火墙
systemctl stop firewalld.service
禁止防火墙
systemctl disable firewalld.service
4. nginx动静分离(修改项目访问路劲)
1.修改spa项目的api/actions的server将其修改为生产阶段,并添加一个/api前缀
export default {
//服务器
//‘SERVER’: ‘http://localhost:8080/crm’,//开发阶段
‘SERVER’: ‘http://www.zking.com/api/crm’,//生产阶段改为服务器的域名,并添加/api前缀
…
}
5. tomcat集群配置
#服务器的集群配置
upstream tomcat_list{ #服务器集群名字
server 127.0.0.1:8080 weight=1; #服务器1 weight是权重的意思,权重越大,分配的概率越大。
#server 172.17.0.4:8080 weight=2; #服务器2 weight是权重的意思,权重越大,分配的概率越大。
}
注1:upstream节点是http节点的儿子,与server节点是兄弟关系,不要搞错了
6. 前缀“/api”的作用
location ^~/api/ {
#^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除api
proxy_pass http://tomcat_list/;
}
7. 需要部署的项目打包:
8. 找到文件夹所在地打包成压缩文件:
9. 通过CenteOS指令对文件解压:
cd /usr/local/nginx/html
rz ----------------(把压缩文件上传到Html文件)无法上传就直接把压缩文件拉到Xshell页面
- 通过 linux压缩和解压命令
tar文件
tar压缩命令为 tar -zcvf 压缩名.tar.gz 文件/目录
tar解压命令为 tar -zxvf 压缩包名.tar.gz
zip文件
zip压缩命令 zip -q -r 压缩包名.zip 目录/文件名
zip -r xxx.zip ./*
zip解压命令 unzip 压缩包名.zip
如果出现这个提示:
-bash: unzip: command not found 不能执行ZIP压缩,是因为没有安装ZIP,
运行下这条安装命令即可 yum install zip/unzip
11. 解压成功后:
12. 通过域名成功访问页面:
(网页路径案例) http://www.zking.com/api/crm/sys/userLogin.action?username=zs&password=123
-
启动Tomcat服务把后台项目打成.war发布到Tomcat:
systemctl status tomcat.service ---------------------查看是否启动Tomcat服务
1)ip地址加端口号访问Tomcat官网
2)测试上传是否成功:
3)后台是没有页面的正常只要不出现报错就好: -
启动Mysql服务:
-
使用Nginx域名登录能不能访问后台:
部署成功:
部署失败:
失败了检查错误- - ->把后台用测试工具测试是否能正常运行- - ->在检查前端是否能跨区访问后台- - ->看有没有缓存问题都重启一下连接- - ->还是不行就把nginx路径关闭还原运行项目然后从新来一遍。
卸载重装Nginx
总结:
部署是有点复杂,但是总结一点,越复杂越有挑战性,成功失败都是一种提升方式,最好报错不然一路绿灯心里也不踏实,加油!