【解决方案 三】---Linux下Web项目部署诸多问题

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【解决方案 三】---Linux下Web项目部署诸多问题

最近在学校把一个项目部署到了学校linux的服务器上,在部署过程中遇到了很多很多问题,这里一一总结以下,防止下次再犯错误,通过这个项目,提高了linux下命令操作的熟练度,也明白了linux系统也不是很坑,操作 起来快的很!

tomcat可以启动,但自己的项目就是启动不了

tomcat自带的一些项目可以正常启动,但自己的项目一启动老是报404错误,反复检查,甚至想到了式java版本或者tomcat版本问题,都没有排查出来问题。其实一定要记住一点:1,404报错一定是路径问题,往路径方向上排查。2,一定要看tomcat的报错日志

此tomcat是彼tomcat么?

404问题解决起来比较滑稽,是因为认为自己的tomcat版本不一致,所以想着去查版本

1,先进到tomcat的bin目录下(cd /tomcat目录/bin),在执行./version.sh

2,突然!不小心看到了tomcat的路径,wtf,这个tomcat路径和我的不一致啊,原来是服务器上装了2个tomcat,默认启用的tomcat是我没有部署项目那个,我说怎么老是找不到,wtf。删了自己的tomcat,把项目部署到启用的tomcat上,404问题解决。

C3P0脾气大的很

项目启动过程中,老是报资源访问不到的错,百度了很多都没找到原因,师妹说会不会数据库没装,我想不可能啊,数据库没装也不至于登录界面打不开啊,后来排查tomcat日志,才发现原来真的是C3p0没找到库,wtf,脾气大的很,找不到库连登录都走不了,看来项目启动的时候都是先读配置文件的。

数据库怎么也起不来

小伙子,你确认给足数据库的权限了么,老是报启动失败,显示是写的权限没给足啊!!!!!!!

#chmod –R 777 *

参数-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

*:通配符,指当前目录下的所有文件及目录

将当前目录下的所有文件及子目录的文件拥有者权限设置为读、写、可执行,文件拥有者所在的用户组成员具备读、写、可执行权限,其它用户也具备读、写、可执行权限

777:一个文件有三个权限,分别是读、写和执行,它们对应的数分别是4、2和1。

如果某个用户只有读权限没有写和执行权限当然就是4,如果三个如果有读和执行权限就是5(4+1)……所以有全部权限就是7了。而一个文件或文件夹面对的用户分三类:所属用户、所属用户的组其他用户以及组外用户

所以777三个数字就是对应这三个用户对象全部都有读、写、执行权限。

如果是所属用户有全部权限,组员有读和执行权限,而组外用户只有读权限,那数字应该就是754……

数据库常用操作

启动关闭

service mysql start  //启动
service mysql stop //关闭

(删,导入,导出)数据库

drop database tml     //删除名称为tml的数据库
create database tml;  //创建名称为tml的数据库
//============================导入流程===============================
mysql>use tml;
mysql>set names utf8;   //一定要记得设置编码,否则会乱码
mysql>source /tmp/database.sql;
//===========================导出流程==============================
/usr/local/mysql/bin/mysqldump -u root -p tml > /root/dbd.sql   //导出数据库数据和结构为sql
Enter password:

当服务器报too many connection的问题的时候

当服务器报这个问题的时候,那么就该查看自己的最大连接数了

/usr/bin/mysqladmin -uroot -p variables |grep max_connections   //查看数据库最大连接数,默认151
去配置文件修改为1000!一般在etc下的my.cnf,也可以用locate去定位文件位置

特别注意在windows下mysql5.7以上的版本需要去这个位置找,而这个文件夹一般是隐藏的,所以要去C盘下搜索

C:/ProgramData/MySQL/MySQL Server 5.5/Data/

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
101 3
|
2月前
|
安全 Linux 网络安全
Web安全-Linux网络协议
Web安全-Linux网络协议
76 4
|
1月前
|
移动开发 前端开发 小程序
浅谈-web屏幕适配的解决方案
浅谈-web屏幕适配的解决方案
36 0
浅谈-web屏幕适配的解决方案
|
1月前
|
JavaScript 前端开发 安全
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
41 0
|
2月前
|
前端开发 Python
前后端分离的进化:Python Web项目中的WebSocket实时通信解决方案
在现代Web开发领域,前后端分离已成为一种主流架构模式,它促进了开发效率、提升了应用的可维护性和可扩展性。随着实时数据交互需求的日益增长,WebSocket作为一种在单个长连接上进行全双工通讯的协议,成为了实现前后端实时通信的理想选择。在Python Web项目中,结合Flask框架与Flask-SocketIO库,我们可以轻松实现WebSocket的实时通信功能。
57 2
|
2月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
145 1
|
1月前
|
Java 应用服务中间件 Spring
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
26 0
|
2月前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
32 1
|
3月前
|
监控 测试技术 持续交付
Web2py 项目部署也太让人头疼了吧!但掌握这些,你就能轻松搞定自动化部署!
【8月更文挑战第31天】在现代软件开发中,高效的项目部署至关重要。针对 Web2py 框架,自动化部署不仅提升开发效率,还减少了人为错误。首先需设置版本控制、服务器环境及配置管理;其次利用 CI/CD 工具(如 Jenkins)实现自动构建、测试与部署;再者采用 Docker 容器化技术确保跨环境一致性;最后部署监控与日志记录工具保障系统稳定性。通过这些步骤,可显著优化 Web2py 项目的部署流程。例如,使用 Fabric 可简化部署脚本编写,实现服务器代码更新、依赖安装及服务重启等操作自动化。
40 2
|
3月前
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App