ubuntu服务器部署
关闭欢迎消息
服务器安装好 ubuntu 系统后,进行终端登录,会显示出很多的欢迎消息
通过在用户的根目录下执行 touch .hushlogin 命令,再次登录终端就不会出现欢迎消息

修改hostname显示
修改 /etc/hostname 文件内容为主机名,保存后重启系统
关闭超时断开
修改 /etc/ssh/sshd_config 的配置,在文件最后增加两行,值视情况修改
修改后运行 systemctl restart sshd 重启生效
ClientAliveInterval 60 # 每隔 60 秒向客户端发送一个心跳包
ClientAliveCountMax 3 # 如果连续 3 次没有收到客户端响应,则断开连接
修改 SecureCRT 的设置,点击 “Options” -> “Terminal”,勾选 Send Protocol NO-OP,设置一个时间值

防火墙配置
初始化情况下,防火墙并没有启动,使用 ufw enable 进行启用防火墙
防火墙启动后运行 ufw status,就会看到防火墙的状态为活跃状态 Status: active
通过 ufw allow 80 指令添加允许的端口,下面的端口应该加到允许列表中,其他端口视情况添加
22 ssh访问的端口
80 http的默认端口
443 https的默认端口
通过 ufw status 查看防火墙的状态,可以看到当前已经开启的端口

通过 ufw status numbered 可以查看规则的 numbered ,删除的时候需要通过 numbered 进行删除
删除规则的时候建议倒序删,因为删中间的记录,会导致后面的记录序号前移


安装web服务
想要简单的可以通过宝塔安装,但是宝塔的配置看起来十分混乱,所以还是自己安装更清晰一点
安装 nignx 或者 apache 服务,可选其中之一,安装后服务会自启动
apt update
apt install nginx
apt install apache2
如果需要停止取消自启动,可以通过下面命令关闭
systemctl stop apache2
systemctl disable apache2
安装 php 服务的指定版本,php 对应的组件建议也安装下,特别是 php7.4-fpm 这个
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-json php7.4-common php7.4-xml php7.4-zip php7.4-curl php7.4-mbstring
安装后可以通过 apt list --installed | grep php命令查看当前安装了哪些 php 的应用模块

安装 mysql,默认会安装 8.0 版本的,client 也一起安装上,安装后 mysql 服务也会自启动
apt install mysql-server mysql-client
配置nginx
nginx 的配置文件在 /etc/nginx/nginx.conf,修改配置然后 nginx -s reload 进行重新加载
配置重载生效后,通过浏览器访问页面显示出 Hello World! 表示配置成功
user root;
worker_processes auto;
pid /run/nginx.pid;
#include /etc/nginx/modules-enabled/*.conf;events {worker_connections 768;# multi_accept on;
}http {sendfile on;tcp_nopush on;types_hash_max_size 2048;# server_tokens off;# server_names_hash_bucket_size 64;# server_name_in_redirect off;set_real_ip_from 0.0.0.0/0;real_ip_header CF-Connecting-IP;real_ip_recursive on;include /etc/nginx/mime.types;default_type application/octet-stream;ssl_ciphers HIGH:!aNULL:!MD5;ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;log_format main 'client[$remote_addr] cf[$realip_remote_addr] - $scheme[$time_local] request[$request] ''$status send[$body_bytes_sent] host[$host] refer[$http_referer] useragent[$http_user_agent]';map $http_user_agent $loggable {default 1; # default log to access.log "~*test" 0; # remove log if User-Agent contain "test"}access_log /root/nginx/logs/access.log main if=$loggable;error_log /root/nginx/logs/error.log;gzip on;# gzip_vary on;# gzip_proxied any;# gzip_comp_level 6;# gzip_buffers 16 8k;# gzip_http_version 1.1;# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;server {listen 80 default_server;server_name _;location / {default_type text/plain;add_header Content-Type text/plain; return 200 'Hello World!';}}
}
配置mysql
终端运行 mysql 命令连接,然后使用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; 进行修改密码
修改密码后,通过 FLUSH PRIVILEGES 生效

如果要设置允许外部主机连接数据库,可以参考 我的另一篇文章
配置php
修改 /etc/php/7.4/fpm/pool.d/www.conf 配置文件,将下面的 user、group 改为 root 用户

修改之后,还有一个地方需要修改,通过 help 可以看到,php-fpm 默认是不支持 root 启动的,需要以 R 参数启动

在 /usr/lib/systemd/system/php7.4-fpm.service 文件的启动命令加一个 R 参数,允许以 root 启动

修改完毕后,运行 systemctl daemon-reload 使得 service 配置修改生效
然后再运行 systemctl restart php7.4-fpm 进行 php 模块的重启
测试php是否生效
配置好 php 之后,在 nginx 中新增一个location,内容如下
location ~ \.php$ {root /root/nginx/html/; fastcgi_pass unix:/run/php/php7.4-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;
}
在 /root/nginx/html/ 目录下新增一个 phpinfo.php 的文件
<?php
phpinfo();
重新加载 nginx 配置,然后浏览器访问 http://IP地址/phpinfo.php 就可以看到以下的页面信息了

相关文章:
ubuntu服务器部署
关闭欢迎消息 服务器安装好 ubuntu 系统后,进行终端登录,会显示出很多的欢迎消息 通过在用户的根目录下执行 touch .hushlogin 命令,再次登录终端就不会出现欢迎消息 修改hostname显示 修改 /etc/hostname 文件内容为主机名,保…...
小爱音箱控制手机和电视听歌的尝试
最近买了小爱音箱pro,老婆让我扔了,吃灰多年的旧音箱。当然舍不得,比小爱还贵,刚好还有一台红米手机,能插音箱,为了让音箱更加灵活,买了个2元的蓝牙接收模块Type-c供电3.5接口。这就是本次尝试起…...
问卷数据分析|SPSS实操之独立样本T检验
适用条件: 检验分类变量和定量变量之间的差异 分类变量只能为二分类变量,如性别 1.选择分析--比较平均值--独立样本检验 2. 在下方选择性别(分类变量) 3. 点击定义组,组1输入1,组2输入2 4.在上方填入定量…...
Linux 内核 IPoIB 驱动中 sysfs 属性冲突问题的分析与解决
一、引言 在 Linux 内核的设备驱动开发中,sysfs 文件系统是一种重要的机制,用于向用户空间暴露内核对象的属性信息。通过 sysfs,用户空间程序可以读取或修改设备的属性,从而实现对硬件设备的监控和配置。然而,在实际开发中,可能会遇到 sysfs 属性冲突的问题,特别是在复…...
双ESP8266-01S通讯UDP配置
第一台ESP8266(发送命令需要勾---发送新行) ATCWMODE3 ATCWSAP_DEF"CAR_wifi_Master","12345678",5,3 //设置本地wifi名称以及密码 ATCIPSTA_DEF"192.168.4.1" //设置本地IP ATCIFSR …...
【C】初阶数据结构5 -- 栈
前面学习了两种最基本的数据结构 -- 顺序表和链表,接下来就可以基于这两种数据结构来实现其他数据结构了。其实,其他的数据结构的物理结构要么是数组,要么就是链表,所以学好顺序表和链表是学好其他数据结构的基础。接下里…...
闭源大语言模型的怎么增强:提示工程 检索增强生成 智能体
闭源大语言模型的怎么增强 提示工程 检索增强生成 智能体 核心原理 提示工程:通过设计和优化提示词,引导大语言模型进行上下文学习和分解式思考,激发模型自身的思维和推理能力,使模型更好地理解和生成文本,增强其泛用性和解决问题的能力。检索增强生成:结合检索的准确…...
C语言-------结构体(1)
数据类型 (1)基本数据类型 整型 浮点型 字符型 (2)构造类型 数组 结构体 结构体: 用来处理,现实生活中,更复杂的数据的描述 用来 描述复杂数据的 一种用户自定义的数…...
org.apache.kafka.common.errors.TimeoutException
个人博客地址:org.apache.kafka.common.errors.TimeoutException | 一张假钞的真实世界 使用kafka-console-producer.sh向远端Kafka写入数据时遇到以下错误: $ bin/kafka-console-producer.sh --broker-list 172.16.72.202:9092 --topic test This is …...
Ceph集群搭建2025(squid版)
squid版本维护年限 apt install -y cephadmecho >> "deb http://mirrors.163.com/ceph/debian-squid/ bookworm main" echo >> "deb-src http://mirrors.163.com/ceph/debian-squid/ bookworm main"#安装源 cephadm install #开始初始化一个最…...
DeepSeek从入门到精通:提示词设计的系统化指南
目录 引言:AIGC时代的核心竞争力 第一部分 基础篇:提示词的本质与核心结构 1.1 什么是提示词? 1.2 提示词的黄金三角结构 第二部分 类型篇:提示词的六大范式 2.1 提示语的本质特征 2.2 提示语的类型 2.2.1 指令型提示词 …...
python后端调用Deep Seek API
python后端调用Deep Seek API 需要依次下载 ●Ollama ●Deepseek R1 LLM模型 ●嵌入模型nomic-embed-text / bge-m3 ●AnythingLLM 参考教程: Deepseek R1打造本地化RAG知识库:安装部署使用详细教程 手把手教你:deepseek R1基于 AnythingLLM API 调用本地…...
自有证书的rancher集群使用rke部署k8s集群异常
rancher使用自签域名,或者商业证书容易踩到的坑。 最开始的报错: docker logs kubelet‘s id E0214 13:04:14.590268 9614 pod_workers.go:1300] "Error syncing pod, skipping" err"failed to \"StartContainer\" for …...
【线性代数】1行列式
1. 行列式的概念 行列式的符号表示: 行列式的计算结果:一个数 计算模型1:二阶行列式 二阶行列式: 三阶行列式: n阶行列式: 🍎计算行列式 计算模型2:上三角形行列式 上三角形行列式特征:主对角线下皆为0。 上三角形行列式: 化上三角形通用方法:主对角线下,…...
DeepSeek免费部署到WPS或Office
部署到WPS - 通过OfficeAI插件接入: - 准备工作:安装最新版本的WPS Office软件;访问DeepSeek官网,点击右上角的“API开放平台”,登录账号(若无账号需先注册),登录成功后,…...
数据结构 二叉树
一、⼆叉树的定义 ⼆叉树是⼀种特殊的树型结构,它的特点是每个结点⾄多只有2棵⼦树(即⼆叉树中不存在度⼤于2的结点),并且⼆叉树的⼦树有左右之分,其次序不能任意颠倒。 ⼆叉的意思是这种树的每⼀个结点最多只有两个孩…...
鸿蒙开发:熟知@BuilderParam装饰器
前言 本文代码案例基于Api13。 在实际的开发中,我们经常会遇到自定义组件的情况,比如通用的列表组件,选项卡组件等等,由于使用方的样式不一,子组件是动态变化的,针对这一情况,就不得不让使用方把…...
光谱相机在天文学领域的应用
天体成分分析 恒星成分研究:恒星的光谱包含了其大气中各种元素的吸收和发射线特征。通过光谱相机精确测量这些谱线,天文学家能确定恒星大气中氢、氦、碳、氮、氧等元素的含量。如对太阳的光谱分析发现,太阳大气中氢元素占比约 71%࿰…...
不到1M的工具,使用起来非常丝滑!
今天给大家推荐两款电脑上超实用的小软件,分别是倒计时工具和关机助手,用起来特别顺手,希望能帮到大家。 关机助手 帮你自动关机 先说说关机助手。这款软件简直太方便了!它是一款免安装的小工具,体积超小,…...
软考高级《系统架构设计师》知识点(二)
操作系统知识 操作系统概述 操作系统定义:能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。操作系统有三个重要的作用: 管理…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
