资讯动态

云服务器Linux部署war、jar包,并在nginx配置域名

发布时间:2026/10/22 1:18:55 来源:尧图企业网站定制
目录一打包Jar包注意War包二服务器环境部署1.MySQL安装Linux指令下载某一版本安装包安装下载好的安装包安装MySQL出现的所有提示y到底即可输入指令确定是否安装好MySQL命令取得MySQL初始化随机密码登录MySQL修改密码跳过/忘记密码创建远程账户2.Java安装下载解压到目录配置环境变量检验是否安装成功3.安装Tomcat安装Tomcat启动与停止配置​编辑4.Nginx安装准备工作进行nginx的安装Nginx命令修改配置文件三.部署服务War包Jar包四.Nginx配置如果需要一个端口一个域名监听多个服务如果需要部署多个域名多个服务如果需要 websocket一打包Jar包一个Springboot项目默认打包jar包无需修改配置点击右侧Maven-Lifecycle-package打包即可注意需要先检查pom.xml文件可能此时打包完的jar包会出现no main manifest attribute, in test-0.0.1-SNAPSHOT.jarxxx.jar中没有主清单属性由于IDEA默认使用spring-boot-maven-plugin插件默认设置skip为true这会导致 Spring Boot 插件跳过重新打包 JAR 文件的步骤进而不生成包含 Main-Class 属性的清单文件。解决办法移除或注释掉即可buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${spring-boot.version}/versionconfigurationmainClasscom.github.nan.web.NanWebApplication/mainClass!-- skiptrue/skip -- !-- 移除或设置为 false --/configuration/plugin/plugins/buildWar包需要将pom.xml文件的packaging设置为warpackagingwar/packaging如果使用tomcat启动服务则需要排除tomcat的依赖。同时添加servlet-api的依赖dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId exclusions exclusion groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-tomcat/artifactId /exclusion /exclusions /dependency dependency groupIdjavax.servlet/groupId artifactIdservlet-api/artifactId version2.5/version /dependency在build使用一下插件打包build plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-war-plugin/artifactId version2.6/version configuration failOnMissingWebXmlfalse/failOnMissingWebXml /configuration /plugin /plugins /build最后点击右侧Maven-Lifecycle-package打包即可二服务器环境部署1.MySQL安装将安装包放到指定目录Linux指令cd ..返回上一级cd /xx/xx/xx 进入其中一个目录mkdir xxx创建一个文件夹下载某一版本安装包下载5.7版本wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm下载8.0版本wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm安装下载好的安装包sudo rpm -ivh mysqxxxxx.noarch.rpm安装MySQL出现的所有提示y到底即可输入指令确定是否安装好mysql -VMySQL命令sudo systemctl start mysqld 启动MySQLsudo systemctl start mysqld 查看MySQL运行状态sudo systemctl reload mysqld 重启MySQLsudo systemctl stop mysqld 关闭MySQL取得MySQL初始化随机密码grep password /var/log/mysqld.log可以看到我们的初始密码是 lKbWhk6KY登录MySQLmysql -h 127.0.0.1 -u root -p输入刚刚获取的初始密码进入这个页面代表mysql登入成功修改密码ALTER USER rootlocalhost IDENTIFIED BY 你的新密码;修改密码flush privileges立即应用exit;退出mysql重新登录MySQL并输入新密码即可跳过/忘记密码vim /etc/my.cnf 按i进入编辑模式 最后一行加入 skip-grant-tables 点击esc输入:wq保存并推出 重启mysqld mysql -h 127.0.0.1 -u root -p 直接回车进入mysql 修改密码即可创建远程账户如果需要远程访问还需要开通远程访问权限否则将会报错create user 新用户名% identified with mysql_native_password by 密码; grant all privileges on *.* to 新用户名% with grant option; flush privileges;MySQL安装完成可以远程访问了2.Java安装下载在 Oracle 官网下载一个适用于Linux平台的JDK工具包【jdk-8u202-linux-x64.tar.gz】Oracle Java Technologies | Oracle下载地址通过软件传入服务器中我这里使用的是Xftp 8将安装包放入某个文件夹内mkdir -p /xxx/java解压到目录tar -vzxf jdk-8u202-linux-x64.tar.gz配置环境变量1). 编辑/etc/profile文件进入命令模式 vim /etc/profile 2). 在命令模式中输入指令 G 切换到文件最后 G 3). 在命令模式中输入 i/a/o 进入插入模式然后切换到文件最后一行 i 4). 将上述的配置拷贝到文件中 JAVA_HOME/usr/local/jdk1.8.0_171 PATH$JAVA_HOME/bin:$PATH 5). 从插入模式切换到指令模式 ESC 6). 按:进入底行模式然后输入wq回车保存 :wq 7). 刷新配置文件 source /etc/profile检验是否安装成功java -version出现这个代表Java安装成功3.安装Tomcat记得检查JDK与Tomcat版本问题版本不对应后续问题会很多Apache Tomcat® - Welcome!下载地址上传到服务器任意文件夹并进入文件夹安装tar -zxvf apache-tomcat-7.0.57.tar.gz -C 指定目录cd 刚刚指定的目录/apache-tomcat-7.0.57/ 进入Tomcat目录bin文件中包括Tomcat工具包括启动停止等conf文件包括Tomcat配置文件webapps文件存放war包用于程序的启动Tomcat启动与停止cd bin/ 进入工具包中./startup.sh 启动Tomcat./shutdown.sh 关闭Tomcat代表成功启动配置如果想要修改Tomcat启动的端口号进入conf目录下cd conf/打开server.xml文件vim server.xm找到Connector开头的代码将后面的8080修改为任意端口号只要你所修改的端口号没被其它应用占有修改后保存。如果出现 The valid characters are defined in RFC 7230 and RFC 3986 问题增加以下配置Connector portxxxx protocolHTTP/1.1 connectionTimeout20000relaxedQueryChars[]|{}^#x5c;#x60;quot;lt;gt;relaxedPathChars[]|{}^#x5c;#x60;quot;lt;gt;redirectPort8443 /访问 http://你的ip:端口号可以访问Tomcat地址看到这个页面代表Tomcat成功安装了4.Nginx安装准备工作1.先安装gcc-c编译器yum install gcc-cyum install -y openssl openssl-devel2.再安装pcre包yum install -y pcre pcre-devel3.再安装zlib包yum install -y zlib zlib-devel进行nginx的安装1.在/usr/local/下创建文件nginx文件mkdir 任意位置/nginx2.在网上下nginx包上传至Linuxhttps://nginx.org/download/也可以直接下载wget https://nginx.org/download/nginx-1.19.9.tar.gz3.解压并进入nginx目录tar -zxvf nginx-1.19.9.tar.gzcd nginx-1.19.94.使用nginx默认配置./configure5.编译安装makemake install6.查找安装路径whereis nginxNginx位置一般为 /usr/local/nginx7.进入sbin目录可以看到有一个可执行文件nginx直接./nginx执行就OK了。./nginx9.查看是否启动成功ps -ef | grep nginx10.然后在网页上访问自己的IP就可以了默认端口为80出现如下欢迎界面就成功了Nginx命令./nginx 启动./nginx -s stop 停止./nginx -s reload 重启修改配置文件配置文件位置 Nginx位置/conf/nginx.conf配置一般在此处修改修改完后重启Nginx即可生效三.部署服务至此所有准备已完成可以开始部署服务了War包移入Tomcat下webapps文件中启动Tomcat即可部署服务Jar包将jar包移入任意文件夹中需要确定一个输出日志的位置1.后台启动不影响当前窗口的使用日志在指定位置的文件内查看nohup java -jar xxx.jar 指定输出日志位置 21 2.前台启动只有结束当前程序后才能在使用此窗口日志会直接显示在当前窗口java -jar xxx.jar 指定输出日志位置 21 至此服务启动完毕四.Nginx配置如果需要配置域名以及代理需要配置一下内容server {listen 80; #监听端口listen [::]:80;server_name 你的域名;#root /xx; #如果没有本地文件不用配置# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location /xxx/ { #如果80端口监听到带有/xxx就会转到部署的服务proxy_pass http://127.0.0.1:8080/; #本地部署的服务地址# Proxy headersproxy_set_header Upgrade $http_upgrade;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Port $server_port;}error_page 404 /404.html;location /404.html {}error_page 500 502 503 504 /50x.html;location /50x.html {}}如果需要一个端口一个域名监听多个服务增加一个location配置即可location /xxx/ { #如果80端口监听到带有/xxx就会转到部署的服务proxy_pass http://127.0.0.1:8080/; #本地部署的xxx服务地址# Proxy headersproxy_set_header Upgrade $http_upgrade;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Port $server_port;}location /yyy/ { #如果80端口监听到带有/yyy就会转到部署的服务proxy_pass http://127.0.0.1:8081/; #本地部署的yyy服务地址# Proxy headersproxy_set_header Upgrade $http_upgrade;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Port $server_port;}如果需要部署多个域名多个服务增加一个server即可server {listen 80; #监听端口listen [::]:80;server_name 你的域名;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location /xxx/ { #如果80端口监听到带有/xxx就会转到部署的服务proxy_pass http://127.0.0.1:8080/; #本地部署的服务地址# Proxy headersproxy_set_header Upgrade $http_upgrade;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Port $server_port;}}server {listen 80; #监听端口listen [::]:80;server_name 你的另一个域名;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location /yyy/ { #如果80端口监听到带有/yyy就会转到部署的服务proxy_pass http://127.0.0.1:8081/; #本地部署的服务地址# Proxy headersproxy_set_header Upgrade $http_upgrade;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Port $server_port;}}如果需要 websocket需要添加location配置location ~/websocket {proxy_pass http://127.0.0.1:8080/websocket;你的websocket访问地址# Proxy headersproxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection Upgrade; # 修正此行确保正确处理连接升级proxy_read_timeout 600s;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}至此服务已部署服务器

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑