推荐使用 Xshell 连接远程服务器,使用 Xftp 进行本地与远程服务器之间的文件传输
查看 Linux 版本:
cat /proc/version
查看 CentOS 版本:
cat /etc/redhat-release
查看 JDK 版本:
java -version
防火墙
查看防火墙状态:
systemctl status firewalld
开启防火墙:
systemctl start firewalld
关闭防火墙:
systemctl stop firewalld
重启防火墙:
systemctl restart firewalld.service
查看所有开放的端口:
firewall-cmd --zone=public --list-ports
开放80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
查看80端口:
firewall-cmd --zone=public --query-port=80/tcp
删除80端口:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
开放端口区间:
firewall-cmd --permanent --zone=public --add-port=8080-9999/tcp //永久
重新载入使配置立即生效:
firewall-cmd --reload
注意:阿里云服务器除了开放系统防火墙端口,还需要在云控制台配置开放端口。
进程
在部署前需确认防火墙已经开放端口,且端口号没有被其他进程占用。
查看所有进程:
ps -ef
查看所有 java 进程:
ps aux | grep java
查看指定端口 9530 占用:
netstat -apn | grep 9530
杀死 pid 进程:
kill -9 pid
Docker
查看Docker的磁盘使用情况:
docker system df
清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像):
docker system prune
清理磁盘,删除关闭的容器、无用的数据卷和网络,dangling镜像(即无tag的镜像),以及没有容器使用Docker镜像:
docker system prune -a
首先将后端项目打成 jar 包,然后在服务器后台运行 java 进程即可。
多模块项目,在 AdminApplication.java 所在模块的 pom.xml 文件中引入插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
使用 maven 工具打包。在编辑器终端输入以下命令,或者使用编辑器中的 maven 工具进行 package 操作,等待打包完成(jar 包中包含项目的依赖):
mvn clean package
终端出现 build success 即为打包完成。打包前注意检查生产环境下配置文件 prod.yml 中的各项配置是否正确,特别是配置项中与数据库相关的属性是否正确,例如,当数据库用户密码包含 ‘#’ 字符时,需要对密码打引号。
最终形成的 jar 包在项目的输出目录(一般为 target 或 out 文件夹)中。
将 AdminApplication.java 所在模块的输出目录里的 jar 包拷贝到服务器中,然后进入到该 jar 包所在目录,执行以下命令:
java -jar xxx.jar
关闭 Xshell 终端后程序会自动终止,如果想要其在后台继续运行,将上述命令替换成:
nohup java -jar xxx.jar &
服务器中出现该 java 进程,表示后端程序运行成功。
使用 npm 工具打包。在编辑器终端输入以下命令,或者使用编辑器中的 npm 工具进行 build 操作,注意在打包前检查生产环境下的配置文件 prod.env.js 中的各项配置是否正确,特别是与后端地址及端口号是否对应:
npm run build prod
打包完成后,将生成的 dist 文件拷贝到服务器中即可。
找到 nginx 文件夹下的 nginx.conf 配置文件,修改 nginx.conf 文件的内容:
server {
##listen监听的端口
#语法:listen address:port [ default(deprecated in 0.8.21) | default_server | [ backlog=num | rcvbuf=size | sndbuf=size |
accept_filter=filter | deferred | bind | ssl ] ]
#default_server: 如果没有设置这个参数,那么将会以在nginx.conf中找到的第一个server块作为默认server块
listen 8080;
#主机名称:其后可以跟多个主机名称,开始处理一个HTTP请求时,nginx会取出header头中的Host,与每个server中
server_name进行匹配,以此决定到底由那一个server来处理这个请求。有可能一个Host与多个server块中的server_nam
都匹配,这时会根据匹配优先级来选择实际处理的server块。server_name与Host的匹配优先级见文末。
server_name localhost;
# 前端 dist 文件夹地址
root usr/vue/dist;
# 站点主页文件
index index.html index.htm;
# 后端服务的配置
location / {
# 后端服务地址
proxy_pass http://localhost:8090;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
进入 nginx 安装目录 sbin 下执行命令,检查配置文件是否正确:
cd /usr/local/nginx/sbin
./nginx -t
在该目录下重启 nginx 服务:
./nginx -s reload
CentOS7.5查看防火墙状态,启动,关闭防火墙
Nginx —— nginx服务的基本配置(nginx.conf文件的详解)
nginx启动成功,访问不了
nginx作为web服务以及nginx.conf详解
Nginx 相关介绍(Nginx是什么?能干嘛?)