Ubuntu 命令
Ubuntu 命令
ip route
ip route show 查看网关
ip route show
应输出
default via 192.168.25.2 dev ens33 proto static
192.168.25.0/24 dev ens33 proto kernel scope link src 192.168.25.200
查看网络配置文件
cat /etc/netplan/*.yaml
** 更新系统软件包**
sudo apt update
sudo apt upgrade -y
创建ubuntu 系统 4G光盘 图像界面
- 新建虚拟机
- 自定义
- 稍后安装
- Linux
- 完成
- 在设置选择4G光盘源
- 在运行处使用打开电源时进入固件
- 选择Boot 的CD-ROM 选中后按+号,把它移到到最上面
- 按F10保存 然后确认
- 然后自动重启 ,再选择第一个
- 然后选择中文, 安装Ubuntu
- 选择Chinese 和 Chinese 下一步
- 正常安装 继续
- 设置用户名 密码 继续
- 选择清空 安装
- 等安装好后,自动重启
- 在重启后的界面直接回车
- 然后登陆 ,进入桌面右键打开终端
- 使用 sudo passwd root 改 root 密码(在改前先输入的是自己用户的密码)
- 使用root(root默认禁用给他个密码他就可以使用)使用 su root
- 设置里改桥接
![image]()
![image]()

22. 配置apt源
23. 使用百度搜索Ubuntu基础——网络配置+配置apt源,复制他的代码
24. 然后编辑 vi /etc/apt/sources.list
25. 删除原来的配置将网页的代码复制进去,随后保存并
退出
26. 然后安装ssh,vim
~~~ini
apt -y install vim openssh-server
~~~
27. 编辑ssh服务的配置文件
vi /etc/ssh/sshd_config

-
重启ssh服务systemctl restart ssh
-
查看ip地址
-
使用X-shell登录
-
改为静态ip
设置里改为NAT模式
-
查看网络接口名称
-
ip addr
-
-
确认 netplan 配置文件
Ubuntu 22.04 的 netplan 配置文件通常在 /etc/netplan/ 目录,文件名可能是 00-installer-config.yaml 或 50-cloud-init.yaml(不同安装方式可能不同)。
vim /etc/netplan/00-installer-config.yaml
#把内容写进去,原内容注释或删除
network:
version: 2
ethernets:
ens33: # 你的接口名称,必须和 ip a 中的一致
dhcp4: false # 关闭动态获取 IP
dhcp6: false # 关闭 IPv6 动态获取(可选)
addresses: # 静态 IP 地址(格式:IP/子网掩码位数,如 192.168.25.100/24)
- 192.168.25.201/24 # 替换为你需要的静态 IP(需在你的局域网网段内,比如 192.168.25.x)
gateway4: 192.168.25.2 # 替换为你的网关 IP(通常是路由器/网关地址,比如 192.168.25.2)
nameservers:
addresses: # DNS 服务器(可填你的网关或公共 DNS)
- 114.114.114.114
- 8.8.8.8
#保存退出
- 应用配置并验证
#1.测试配置(若错误会自动回滚):
netplan try
#出现提示后按 Enter 确认生效。
#2.若测试成功,正式应用
netplan apply
#3验证是否生效:
ip a show ens33 # 查看 ens33 是否有设置的静态 IP(inet 字段)
ping 192.168.25.2 # 测试能否 ping 通网关(替换为你的 gateway4)
ping 8.8.8.8 # 测试能否上网
创建ubuntu 系统 2G光盘 最小安装
- 安装首页【选择第一个Try】
- 选择语言【English】
- 安装器【Cont without updating】
- 选择键盘布局【Done】
- 选择安装类型【Ubuntu Server (mininzed不好用)可以选择第一个完整版】
- 设置网络连接
![image]()
![image]()
![image]()
![image]()
7.配置镜像源【直接跳过】
8.磁盘分区【Done】



9.创建用户

10.配置安装openssh-server

11.配置安装其他额外的软件

12. 开始安装系统

13.重启系统

14.安装vim编辑器

15.设置root密码

16.编辑ssh服务的配置文件

修改下面两个参数

重启ssh服务 systemctl restart ssh
- 远程登录root用户
ssh root@Ip地址
- 设置镜像源
cd /etc/apt
sed -i 's/http:\/\/cn.archive.ubuntu.com\/ubuntu/https:\/\/mirrors.aliyun.com\/ubuntu/g' sources.list
- 设置时区与主机名
# 设置时区
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 设置主机名
read -p "请输入主机名" my_host_name
hostnamectl set-hostname $my_host_name
- 设置字符集
echo 'export LANG=en_US.UTF-8'|tee -a /etc/profile && source /etc/profile
locale-gen en_US.UTF-8
echo "en_US.UTF-8 UTF-8" > /var/lib/locales/supported.d/local
cat > /etc/default/locale << EOF
LANG=en_US.UTF-8
LANGUAGE=en_US:en
EOF
22.安装常用软件
# 把常用的软件加入次列表
apt install -y curl wget unzip gcc swig automake make perl ipset cpio git libmbedtls-dev libudns-dev libev-dev python3-pip lrzsz iftop nethogs nload htop ifstat iotop sysstat vim net-tools
apt-get clean all
23.优化系统内核
# 显示修改内容与注释
cat <<EOF
# /etc/sysctl.conf
fs.file-max = 1000000
# 这个参数定义了系统中最大的文件句柄数。文件句柄是用于访问文件的数据结构。增加这个值可以提高系统同时打开文件的能力。
fs.inotify.max_user_instances = 8192
# inotify是Linux内核中的一个机制,用于监视文件系统事件。这个参数定义了每个用户可以创建的inotify实例的最大数量。
net.ipv4.tcp_syncookies = 1
# 当系统遭受SYN洪水攻击时,启用syncookies可以防止系统资源被耗尽。SYN cookies是一种机制,用于在TCP三次握手中保护服务器端资源。
net.ipv4.tcp_fin_timeout = 30
# 这个参数定义了TCP连接中,等待关闭的时间。当一端发送FIN信号后,等待对端关闭连接的超时时间。
net.ipv4.tcp_tw_reuse = 1
# 启用该参数后,可以允许将TIME-WAIT状态的TCP连接重新用于新的连接。这可以减少系统中TIME-WAIT连接的数量。
net.ipv4.ip_local_port_range = 1024 65000
# 这个参数定义了本地端口的范围,用于分配给发送请求的应用程序。它限制了可用于客户端连接的本地端口范围。
net.ipv4.tcp_max_syn_backlog = 16384
# 这个参数定义了TCP连接请求的队列长度。当系统处理不及时时,超过该队列长度的连接请求将被拒绝。
net.ipv4.tcp_max_tw_buckets = 6000
# 这个参数定义了系统同时保持TIME-WAIT状态的最大数量。超过这个数量的连接将被立即关闭。
net.ipv4.route.gc_timeout = 100
# 这个参数定义了内核路由表清理的时间间隔,单位是秒。它影响路由缓存的生命周期。
net.ipv4.tcp_syn_retries = 1
# 这个参数定义了在发送SYN请求后,等待对端回应的次数。超过指定次数后仍未响应,连接将被认为失败。
net.ipv4.tcp_synack_retries = 1
# 这个参数定义了在发送SYN+ACK回应后,等待对端发送ACK的次数。超过指定次数后仍未收到ACK,连接将被认为失败。
net.core.somaxconn = 32768
# 这个参数定义了监听队列的最大长度。当服务器正在处理的连接数超过此值时,新的连接请求将被拒绝。
net.core.netdev_max_backlog = 32768
# 这个参数定义了网络设备接收队列的最大长度。当接收队列已满时,新的数据包将被丢弃。
net.core.netdev_budget = 5000
# 这个参数定义了每个网络设备接收队列在每个时间间隔中可以处理的数据包数量。
net.ipv4.tcp_timestamps = 0
# 禁用TCP时间戳。时间戳可以用于解决网络中的数据包乱序问题,但在高负载环境下可能会增加开销。
net.ipv4.tcp_max_orphans = 32768
# 这个参数定义了系统中允许存在的最大孤立(没有关联的父连接)TCP连接数量。超过这个数量的孤立连接将被立即关闭。
EOF
[ -z "$(grep 'fs.file-max' /etc/sysctl.conf)" ] && cat >> /etc/sysctl.conf << EOF
fs.file-max = 1000000
fs.inotify.max_user_instances = 8192
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 32768
net.core.netdev_max_backlog = 32768
net.core.netdev_budget = 5000
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_max_orphans = 32768
EOF
sysctl -p
24.设置时间同步
# Update time
which ntpdate || apt-get update && apt install ntpdate
ntpdate pool.ntp.org
[ ! -e "/var/spool/cron/crontabs/root" -o -z "$(grep ntpdate /var/spool/cron/crontabs/root 2>/dev/null)" ] && { echo "*/20 * * * * $(which ntpdate) pool.ntp.org > /dev/null 2>&1" >> /var/spool/cron/crontabs/root;chmod 600 /var/spool/cron/crontabs/root; }
Ubuntu22.04安装部署LAMP环境
LAMP环境是常用的Web开发环境之一,其中LAMP分别代表Linux、Apache、MySQL和PHP。
- Linux(操作系统)
- 作用:作为整个环境的 “地基”,提供底层硬件管理、进程调度、文件系统等基础功能,为 Apache、MySQL、PHP 提供稳定的运行平台。
- 特点:开源免费、安全性高、可定制性强,常见的 Linux 发行版(如 Ubuntu、CentOS)都可作为 LAMP 的底层系统。
- Apache(Web 服务器)
- 作用:直接与用户交互的 “接待员”,负责接收用户的 HTTP 请求(如访问
http://example.com/index.php),并将处理结果(网页内容)返回给用户浏览器。- 核心功能:
- 处理静态资源(HTML、CSS、JS、图片等):直接读取文件并返回给用户;
- 转发动态请求(PHP 脚本):当请求包含
.php后缀时,Apache 会调用 PHP 解析器处理脚本,再将结果返回。- MySQL(数据库管理系统)
- 作用:存储网站数据的 “仓库”,负责管理结构化数据(如用户信息、文章内容、订单记录等)。
- 核心功能:
- 通过 SQL 语句(如
SELECT、INSERT)实现数据的增删改查;- 支持多用户并发访问,保证数据一致性(如事务、锁机制)。
- PHP(服务器端脚本语言)
- 作用:处理动态逻辑的 “处理器”,负责将静态页面(HTML)与数据库(MySQL)连接,生成动态内容。
- 核心功能:
- 接收 Apache 传递的用户请求参数(如表单提交的数据);
- 通过 MySQL 扩展(如
mysqli)与数据库交互,获取或修改数据;- 动态生成 HTML 内容(例如根据用户登录状态显示不同信息),再通过 Apache 返回给用户。
一、安装Apache
1.更新Ubuntu系统内的软件包
apt update
2.安装Apache。
apt-get -y install apache2
3.查看Apache的版本。
apache2 -v
4.运行以下命令,启动Apache服务并设置服务开机自启动。
systemctl start apache2
systemctl enable apache2
5.运行以下命令,查看Apache服务状态。
systemctl status apache2
#按下键盘上的 q 键,退出并返回到命令提示符界面。
6.验证Apache浏览器输入http://IP

二、安装并配置MySQL
1.安装MySQL。
apt -y install mysql-server
运行以下命令,查看MySQL版本。
mysql -V
显示
mysql Ver 8.0.39-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
2.启动MySQL服务。
systemctl start mysql
3.设置开机启动MySQL。
systemctl enable mysql
systemctl daemon-reload
4.配置MySQL。
a.进入MySQL。(root用户默认不需要密码)
mysql
输入 show databases ;
#查看当前 MySQL 服务器中所有数据库列表的命令

b.设置root用户密码。 本示例中密码以root@123为例,示例命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'root@123';

c.退出MySQL数据库。
exit;
d.对MySQL进行安全性配置。
mysql_secure_installation
e.根据命令行提示,依次完成以下配置项。
输入root用户的密码。本示例中密码root@123。
输入Y,设置密码验证策略。
选择密码验证策略。0 (简单策略)
输入Y,更改root用户密码,输入root用户密码。
输入Y,确认使用已设置的密码。
输入Y,删除MySQL自带的匿名用户。
输入Y,移除test数据库。
输入Y,重新加载授权表。
5.测试登录MySQL数据库。
# 登录MySQL数据库。
mysql -u root -p
## 输入已设置的数据库密码
# 退出MySQL
exit;
6.可选配置 如需允许MySQL远程连接,您需要将监听IP地址更改为0.0.0.0。
# 打开mysql配置文件。
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# [mysqld] 表示服务端设置
[mysqld]
# 注释下列内容(31行)
# bind-address = 127.0.0.1
# mysqlx-bind-address = 127.0.0.1
# 重新设置bind-address
bind-address = 0.0.0.0
# 重启MySQL
sudo systemctl restart mysql
# 检查3306端口是否为 0.0.0.0:3306
ss -lnutp|grep 3306
三、安装PHP
1.安装PHP。
apt -y install php-fpm libapache2-mod-php php-mysql
# 查看PHP版本。
php -v
PHP 8.1.2-1ubuntu2.18 (cli) (built: Jun 14 2024 15:52:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.18, Copyright (c), by Zend Technologies
3.在Apache网站根目录中,创建测试网页。 a.查看Apache网站根目录的路径信息。
cat /etc/apache2/sites-available/000-default.conf
# 网站根目录默认为:/var/www/html

b.在网站根目录创建测试网页,并把phpinfo()函数添加至网页内容中。
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
chmod 777 -R /var/www/html/phpinfo.php
4.重启Apache服务。
systemctl restart apache2
5.验证 在本地机器浏览器地址栏,输入http://ip/phpinfo.php。效果如图:

## 四、搭建phpMyAdmin
> PHPMyadmin是一款非常好用的数据库管理界面,尤其适合对数据库操作命令不熟悉的新手,可以使用LAMP环境搭建它。
```ini
apt -y install phpmyadmin
# 选择使用apache作为phpmyadmin的web服务器
# 安装过程需要输入MySQL密码

### 测试访问phpmyadmin
```ini
# 也可以跳过设置,创建软链接:
ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
# 重载apache2配置
systemctl reload apache2
浏览器输入:http://192.168.25.200/phpmyadmin/

登录成功:

全新安装的 phpmyadmin 如果不能创建数据库:

```plaintext
则需要授权:
```ini
mysql -u root
# 执行如下操作给自己的 phpmyadmin 账号授权:
show grants for 'phpmyadmin'@'localhost';
grant all on *.* to 'phpmyadmin'@'localhost' with grant option;
flush privileges;
show grants for 'phpmyadmin'@'localhost';
truncate table mysql.proxies_priv;
# 退出MySQL
exit;
部署静态网站的详细步骤:
一、准备静态文件并上传
- 准备本地文件
首先确认本地已创建网站所需的全部文件,像index.html、style.css、script.js以及图片等资源都要准备好。这些文件一般存放在同一个文件夹中,例如my-static-site文件夹。
- 使用xftp8上传到虚拟机
二、部署到 Apache 服务器
- 创建网站目录
mkdir -p /var/www/my-static-site
#-p参数的作用是,若父目录不存在,会自动创建。
- 移动html文件到建好网站目录
mv my-static-site/ /var/www
root@lwy /v/www# cd my-static-site/
root@lwy /v/w/my-static-site# ls
'地图 1.0 .html' '共鸣者 1.0.html' 鸣潮1.0.html 图片
- 设置文件权限
chown -R www-data:www-data /var/www/my-static-site
- 配置 Apache 虚拟主机
vim /etc/apache2/sites-available/my-static-site.conf
<VirtualHost *:80>
ServerName 192.168.25.200
DocumentRoot /var/www/my-static-site
DirectoryIndex 鸣潮1.0.html index.html # 添加此行,指定默认首页
<Directory /var/www/my-static-site>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/my-static-error.log
CustomLog ${APACHE_LOG_DIR}/my-static-access.log combined
</VirtualHost>
- 启用虚拟主机并重启 Apache
a2ensite my-static-site.conf
#若要禁用默认网站(可选操作):
a2dissite 000-default.conf
#最后重启 Apache 服务器,使配置生效:
systemctl restart apache2
三、测试静态网站
- 关闭防火墙
#临时关闭(重启后恢复)
systemctl stop firewalld
---------------------------------
#永久关闭(禁止开机启动)
systemctl disable firewalld
-
访问网站
-
打开浏览器,输入以下地址进行访问:
- 若使用的是 IP 地址:
http://服务器IP






浙公网安备 33010602011771号