想学点真本事,不想只活在记忆里

作者回顾了大学生活,并计划在保研浙江大学后加强个人技能,包括学习程序设计、Linux、Python等,同时表达了对未来学习方向的看法。

           说实话,大学渐行渐远,不再有了当初对大学的新奇。

           说实话,大学自我感觉过的还可以,现在回想自己的大学生活,该玩的也玩了,该疯的也疯了,该学习的也学习了,总体感觉自我满意。

           但是说实话,从浙大保研成功以后,感觉就生活在记忆里,感觉一个阶段的目标达到了,就整个人感觉松了下来,但是现在年轻确实不是松懈的时候。

           自我感觉,自己身上的不足还蛮多,内心不够强大,视野不够开阔,英语不够溜,不够专注,要学习的东西还很多。我想学点真本事,我要好好学习程序设计、学习linux,学习Python,学习做项目,学做科研,学习学论文。

          大学唯一有点小遗憾的是去年10月份浙大保研成功后,没有选择去找一个单位实习,而是进入了导师实验室,进步当然是显然的,但是感觉没经历过真实的企业面试以及企业的环境,视野肯定有不够全面,现在没时间了,确实是有点小遗憾。不过也随他去了,现在身边和我保研浙大一样的同学,老早进驻浙大实验室,我倒没有,还在宁大,认认真真把毕业设计搞定,然后策划自己豪华的毕业旅行,等6月份再去浙大吧,不管了。

             2013,多读书,多深入研究专业知识,多锻炼,希望能够自己一份满意的答卷~

<think>首先,用户的问题是:“Ubuntu 无法访问本机服务端口 connection refused”。这表示用户无法从本地Ubuntu系统访问服务器自身开放的端口,出现“connection refused”错误。 参考提供的引用: - 引用[1]:讨论了Ubuntu服务器升级后MySQL远程访问被关的问题,涉及防火墙设置(ufw)和端口开放。 - 引用[2]:展示了docker容器中端口映射的问题,其中telnet本机IP地址端口时出现“connection refused”,但telnet localhost端口成功。 用户的问题具体是:无法访问本机服务端口,即在同一台机器上访问服务端口时被拒绝。 关键: - “本机服务端口”意味着服务运行在本地机器上。 - “connection refused”通常表示服务没有监听该端口,或者防火墙阻止了访问。 可能的原因: 1. **服务未运行**:服务可能没有启动或未在指定端口监听。 2. **服务绑定问题**:服务可能只绑定到特定IP地址(如localhost 127.0.0.1),而不是所有接口(0.0.0.0)。 3. **防火墙设置**:本地防火墙可能阻止了访问。 4. **端口冲突**:另一个服务可能占用了该端口。 5. **Docker或容器问题**:如果服务在容器中运行,端口映射可能有问题。 从引用[2]中,用户提到docker容器,其中telnet本机IP地址失败,但telnet localhost成功。这表明服务绑定到localhost,而不是所有接口。 用户说“本机服务端口”,所以服务很可能运行在本地机器上。 我的回答需要: - 使用中文。 - 结构清晰,逐步解决问题。 - 确保真实可靠。 - 遵循系统级指令:行内数表达式用$...$,独立公式用$$...$$(但问题不涉及数,可能不需要)。 - 生成相关问题。 - 在回答中引用的段落末尾添加引用标识,如[^1]。 回答结构: 1. **理解问题**:确认用户的问题。 2. **常见原因分析**:列出可能的原因。 3. **诊断步骤**:提供逐步检查的方法。 4. **解决方案**:基于诊断给出解决方法。 5. **生成相关问题**:在最后添加相关问题。 诊断步骤: - 检查服务状态:使用`sudo systemctl status <service>`查看服务是否运行。 - 检查端口监听:使用`netstat -tuln | grep <port>`或`ss -tuln | grep <port>`查看服务是否监听在0.0.0.0或特定IP。 - 检查防火墙:使用`sudo ufw status`查看防火墙状态和规则。 - 测试本地访问:尝试从本地访问`localhost:<port>`和`<本机IP>:<port>`。 - 对于Docker:检查容器端口映射和绑定。 解决方案: - 如果服务绑定到localhost,修改服务配置以监听0.0.0.0。 - 确保防火墙允许本地访问(通常防火墙不影响本地回环,但需检查)。 - 重启服务。 生成相关问题: - 例如:如何修改服务绑定地址?如何检查端口占用?如何配置防火墙规则? 引用标识:从用户提供的引用中,引用[1]和[2]是相关的。在回答中,当提到防火墙或Docker问题时,可以添加引用。 用户的问题中没有指定服务,但引用中提到MySQL和Oracle,所以可能涉及这些服务。但用户说“本机服务端口”,所以保持一般性。 最终回答: - 以中文书写。 - 清晰、逐步。</think>### Ubuntu 无法访问本机服务端口 Connection Refused 问题解决指南 当您在 Ubuntu 系统上遇到无法访问本机服务端口(例如 MySQL、Docker 容器端口等)并出现 "Connection refused" 错误时,这通常表示服务未正确监听或本地访问被阻止。该问题常见于服务绑定配置错误、防火墙设置不当或服务未运行。以下我将逐步指导您诊断和解决此问题。解决方案基于 Linux 网络原理和常见实践,确保真实可靠。 #### 步骤 1: 理解问题现象 - "Connection refused" 错误表明 TCP 连接请求被明确拒绝,常见原因包括: - 服务未在指定端口监听。 - 服务绑定到 `localhost` (127.0.0.1) 而非所有接口 (`0.0.0.0`)。 - 本地防火墙阻止了访问(尽管 Ubuntu 防火墙通常不影响回环接口)。 - 服务未启动或端口被占用。 - 从您的描述和引用[2]看,问题可能类似 Docker 容器端口映射问题:`telnet 本机IP` 失败但 `telnet localhost` 成功,这暗示服务仅绑定到本地回环地址[^2]。 #### 步骤 2: 诊断问题原因 请按顺序执行以下命令(替换 `<port>` 为您的服务端口号,如 `3306` 或 `1521`): 1. **检查服务是否运行**: ```bash sudo systemctl status <service-name> # 例如 sudo systemctl status mysql ``` - 如果状态显示 `inactive` 或 `failed`,服务未启动。需重启服务:`sudo systemctl restart <service-name>`。 - 如果服务是 Docker 容器(如引用[2]中的 Oracle 容器),检查容器状态: ```bash docker ps # 确认容器是否运行且端口映射正确(例如 0.0.0.0:1521->1521/tcp) ``` 2. **检查端口监听情况**: ```bash sudo netstat -tuln | grep <port> # 或使用 ss -tuln | grep <port> ``` - 关键输出解读: - 如果显示 `127.0.0.1:<port>`,服务只绑定到 `localhost`,无法通过本机 IP 访问。 - 如果显示 `0.0.0.0:<port>` 或 `::: <port>`,服务监听所有接口,应可访问。 - 如果无输出,表示无服务监听该端口(服务未启动或端口错误)。 3. **测试本地访问**: - 测试 `localhost`: ```bash telnet localhost <port> # 或 nc -zv localhost <port> ``` - 如果成功(如引用[2]所示),说明服务运行正常但绑定受限[^2]。 - 测试本机 IP: ```bash telnet $(hostname -I | awk '{print $1}') <port> # 替换为您的本机 IP ``` - 如果失败,确认服务绑定配置。 4. **检查防火墙规则**: ```bash sudo ufw status # 查看防火墙状态和规则 ``` - 如果 `Status: active`,确保允许本地端口(尽管 `ufw` 通常不阻止 `127.0.0.1`,但可能影响其他接口): ```bash sudo ufw allow from 127.0.0.1 to any port <port> # 允许本地回环 sudo ufw allow <port>/tcp # 允许所有接口(谨慎使用) ``` - 引用[1]提到类似问题可通过 `ufw` 规则解决(例如 `sudo ufw allow 3306`)[^1]。 #### 步骤 3: 解决方案 根据诊断结果选择对应修复方法: - **如果服务绑定到 `localhost`**(最常见原因): - 编辑服务配置文件: - MySQL:修改 `/etc/mysql/mysql.conf.d/mysqld.cnf`,将 `bind-address = 127.0.0.1` 改为 `bind-address = 0.0.0.0`,然后重启:`sudo systemctl restart mysql`。 - 其他服务:查找配置文件中的 `bind` 或 `listen` 参数,设置为 `0.0.0.0`。 - Docker 容器:运行容器时指定绑定所有接口: ```bash docker run -p 0.0.0.0:<host-port>:<container-port> <image-name> ``` - **如果防火墙阻止**: - 添加规则并重载: ```bash sudo ufw allow <port>/tcp sudo ufw reload ``` - 如果问题依旧,临时禁用防火墙测试:`sudo ufw disable`(测试后重新启用)。 - **如果服务未运行**: - 启动服务:`sudo systemctl start <service-name>`。 - 检查端口占用:`sudo lsof -i :<port>`,终止冲突进程。 - **通用修复**: - 重启网络服务:`sudo systemctl restart networking`。 - 检查 SELinux/AppArmor:如果启用,可能阻止访问,需调整策略(较少见)。 #### 验证修复 - 重新运行诊断命令(步骤 2),确保 `netstat` 显示 `0.0.0.0:<port>` 且 `telnet 本机IP <port>` 成功。 - 示例成功输出:`Connected to <IP>`。 如果以上步骤无效,请提供更多细节(如服务名称、端口号、完整错误日志),我将进一步协助。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值