yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
cd /usr/local
mkdir nginx
cd nginx
wget http://nginx.org/download/nginx-1.13.4.tar.gz
tar -xvf nginx-1.13.4.tar.gz
cd nginx-1.13.4
./configure --prefix=/usr/local/nginx (prefix=/usr/local/nginx 这个是设置软件安装目录路径,默认安装路径应该在/etc/nginx)
make && make install
配置测试: /usr/local/nginx/sbin/nginx -t 出现如下界面说明配置没问题
[root@localhost conf]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动 : /usr/local/nginx/sbin/nginx
重启 : /usr/local/nginx/sbin/nginx -s reload
停止 : /usr/local/nginx/sbin/nginx -s stop
启动后访问服务器ip+端口号(nginx默认监听的是80端口):192.168.10.208
出现如下内容则成功访问
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.
Thank you for using nginx.
三种打包方式
war是一个web模块,其中需要包括web-inf,是可以直接运行的web模块,而jar一般只包括一些class文件,声明class后可以直接用Java命令运行的
父工程需要将打包形式改为pom,其余子模块打jar包,同时提供者和消费者两个服务需要在pom文件中加上插件,不然打出来的jar包无法运行,会提示没有主清单属性
!-- 这个插件,可以将应用打包成一个可执行的jar包 -->
org.springframework.boot
spring-boot-maven-plugin
repackage
手动打包
命令行打包
mvn clean package
打包后会在target中生成jar包
将jar包上传至服务器
启动:java -jar xx.jar
就可以通过服务器ip+代码中配置的端口请求:http://192.168.10.208:9112
假设当前两台服务器192.168.10.208 192.168.10.206都安装了nginx、部署了java代码
则在两台机子上都修改nginx.conf
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# 负载均衡,将请求分发给下面的两台服务器
upstream xgd {
server 192.168.10.206:9112;
server 192.168.10.208:9112;
}
server {
listen 81; # nginx默认是80端口,可以修改
server_name localhost;
}
}
通过nginx负载均衡,当一台服务器的java服务挂掉后另一台的java服务也可以运行。
也就是说当208的java服务宕机后,接口请求会被转发到206
npm run build
打包后会在项目根目录生成dist文件夹
将dist文件夹上传至服务器,假设上传至 /usr/xyouzi/html/xgd
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# 负载均衡,将请求分发给下面的两台服务器
upstream xgd {
server 192.168.10.206:9112;
server 192.168.10.208:9112;
}
server {
listen 81; # nginx默认是80端口,可以修改
server_name localhost;
location / {
root /usr/xyouzi/html/xgd/dist; # 指定打包后的dist文件夹路径
index index.html index.htm;
}
# 前端请求时添加了前缀api
# 监听81端口请求到带有api前缀的接口时将请求转发至上面的upstream xgd
location /api/ {
# 最后面添加斜杠是为了抵消/api,因为前端请求时添加了前缀,而后端的真实接口没有前缀api,所以需要抵消
proxy_pass http://xgd/;
}
}
}
访问服务器ip + nginx中对应server监听的端口:http://192.168.10.208:81/
前端配置的接口基准地址是 /api、接口完整地址是 __dirname/api/xxx