麒麟操作系统 (kylinos) 从入门到精通 -高级教程 - 第85篇 网络服务部署简易教程

0.基础环境

类别:笔记本

型号:中国长城 NF14C

硬件平台:飞腾处理器D2000(ArmV8 指令集)

系统:银河麒麟操作系统 V10 SP1(2303)

关键词:Linux,进程监控,apache,nginx,samba,nfs,ftp

0.准备工作

为方便网络连接,关掉防火墙

bash 复制代码
sudo ufw disable #方式1
sudo systemctl stop firewalld  #方式2

1.NFS服务部署

NFS(Network File System,网络文件系统)是 Unix/Linux 环境下非常重要且基础的网络服务,它的核心思想是允许网络上的计算机之间像访问本地文件一样访问远程共享的文件和目录。

您可以使用以下命令安装这些软件包:

sql 复制代码
sudo apt-get update
sudo apt-get install nfs-kernel-server nfs-common rpcbind -y

服务端的设备需要安装:nfs-kernel-server rpcbind

客户端的设备需要安装: nfs-common组件

创建共享目录

首先,您需要创建一个要共享的目录。例如,创建一个名为 /share 的目录:

bash 复制代码
sudo mkdir /share

然后,设置适当的权限:

bash 复制代码
sudo chmod 777 /share

配置NFS

在图形界面中,打开终端,并输入以下命令以编辑 /etc/exports 文件:

bash 复制代码
sudo apt install gedit -y #安装gedit编辑器
sudo gedit /etc/exports

在打开的文件中,添加以下行以指定要共享的目录和客户端:

bash 复制代码
/share *(rw,sync,no_subtree_check) #* 和 (rw之间没有空格

这里的 /share 是您要共享的目录,* 表示所有客户端都可以访问,(rw,sync,nolock) 是共享的权限。

其他参考

bash 复制代码
# Share /home/data with IP 192.168.1.10, read-write, sync
/home/data 192.168.1.10(rw,sync,no_subtree_check)

# Share /mnt/nfs_share with the entire subnet, read-only
/mnt/nfs_share 192.168.1.0/24(ro,sync,no_subtree_check)

检查配置是否正确

复制代码
sudo exportfs -rv

配置防火墙

bash 复制代码
sudo apt install ufw -y #安装防火墙
sudo systemctl start ufw #启动防火墙
sudo systemctl enable ufw  #开机启动防火墙
sudo ufw status  #确认状态

放行端口或服务

NFS 的核心是 TCP/UDP 端口 1112049

服务 端口 协议 描述 UFW 命令 (示例 IP 限制)
rpcbind 111 TCP/UDP 端口映射服务,NFS 启动必备。 sudo ufw allow from 192.168.1.0/24 to any port 111
nfs 2049 TCP/UDP NFS 核心数据传输端口。 sudo ufw allow from 192.168.1.0/24 to any port 2049
bash 复制代码
# 1. Portmap/Rpcbind: 端口 111 (TCP/UDP)
sudo ufw allow 111/tcp
sudo ufw allow 111/udp

# 2. NFS: 端口 2049 (TCP/UDP)
sudo ufw allow 2049/tcp
sudo ufw allow 2049/udp

启动NFS服务

在终端中,输入以下命令以启动NFS服务:

vbscript 复制代码
sudo systemctl restart nfs-kernel-server
sudo systemctl restart rpcbind

您还可以使用以下命令启用NFS服务在启动时自动运行:

bash 复制代码
sudo systemctl enable nfs-kernel-server
sudo systemctl enable rpcbind

配置客户端

在客户端计算机上,使用以下命令安装NFS客户端:

arduino 复制代码
sudo apt-get install nfs-common

然后,使用以下命令挂载NFS共享:

ruby 复制代码
sudo mount -t nfs <NFS_SERVER_IP_ADDRESS>:<SHARED_DIRECTORY> <MOUNT_POINT>

例如,如果您要挂载IP地址 的服务器上的 /share 目录到本地目录 /mnt/nfs`,请使用以下命令:

bash 复制代码
sudo mkdir /mnt/nfs #创建挂载目录
sudo chmod 777 -R /mnt/nfs # 设置权限为全放开
sudo mount -t nfs 127.0.0.1:/share /mnt/nfs #挂载,127.0.0.1代表本机地址,如果是远程服务器,需要换成真正的可达的IP地址

2.DHCP服务部署

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是网络管理中一个至关重要的协议,它的核心目的是实现网络中设备的 自动化集中化 IP 地址配置。

虚拟机 (VM) 角色 操作系统 配置要求
VM-A DHCP 服务器 任意 Linux (如 Ubuntu Server, CentOS) 安装 isc-dhcp-server 或其他 DHCP 软件。配置一个静态 IP 地址作为服务器地址。
VM-B DHCP 客户端 任意 Linux 或 Windows 网络配置为自动获取 IP (DHCP)。

安装DHCP服务器

  1. 打开终端。
  2. 输入以下命令更新软件包列表:
    sudo apt-get update
  3. 安装isc-dhcp-server软件包,该软件包包含了DHCP服务器的所有必需组件:
    sudo apt-get install isc-dhcp-server

配置DHCP服务器

  1. 编辑DHCP配置文件/etc/dhcp/dhcpd.conf,该文件包含了DHCP服务器的配置信息:
    sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak sudo gedit /etc/dhcp/dhcpd.conf
  2. 在配置文件中,添加以下内容以设置IP地址池、子网掩码、网关和DNS服务器等信息。以下是一个示例配置:
ini 复制代码
# 匹配你的实际网络:192.168.200.0/24
subnet 192.168.200.0 netmask 255.255.255.0 {
    range 192.168.200.50 192.168.200.100;  # IP分配范围
    option routers 192.168.200.1;          # 网关地址
    option domain-name-servers 8.8.8.8, 8.8.4.4;  # DNS服务器
    option subnet-mask 255.255.255.0;      # 子网掩码
    option broadcast-address 192.168.200.255;  # 广播地址
    default-lease-time 600;
    max-lease-time 7200;
}

保存并关闭文件。

重置leases文件和权限

bash 复制代码
# 停止服务
sudo systemctl stop isc-dhcp-server

# 备份并重建 leases 文件
sudo mv /var/lib/dhcp/dhcpd.leases /var/lib/dhcp/dhcpd.leases.bak
# 没有就新建
sudo touch /var/lib/dhcp/dhcpd.leases
sudo touch /var/lib/dhcp/dhcpd.leases~

# 设置正确权限(关键)
sudo chown -R root:root /var/lib/dhcp/
sudo chmod 777 /var/lib/dhcp/
sudo chmod 666 /var/lib/dhcp/dhcpd.leases
sudo chmod 666 /var/lib/dhcp/dhcpd.leases~

最终的配置文件

ini 复制代码
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
# Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as
# configuration file instead of this file.
#

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
ping-check false;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
#log-facility local7;

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}
# 匹配你的实际网络:192.168.200.0/24
subnet 192.168.200.0 netmask 255.255.255.0 {
    range 192.168.200.50 192.168.200.100;  # IP分配范围
    option routers 192.168.200.1;          # 网关地址
    option domain-name-servers 8.8.8.8, 8.8.4.4;  # DNS服务器
    option subnet-mask 255.255.255.0;      # 子网掩码
    option broadcast-address 192.168.200.255;  # 广播地址
    default-lease-time 600;
    max-lease-time 7200;
}
# This is a very basic subnet declaration.

#subnet 10.254.239.0 netmask 255.255.255.224 {
#  range 10.254.239.10 10.254.239.20;
#  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}


# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.

#subnet 10.254.239.32 netmask 255.255.255.224 {
#  range dynamic-bootp 10.254.239.40 10.254.239.60;
#  option broadcast-address 10.254.239.31;
#  option routers rtr-239-32-1.example.org;
#}

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
#  range 10.5.5.26 10.5.5.30;
#  option domain-name-servers ns1.internal.example.org;
#  option domain-name "internal.example.org";
#  option subnet-mask 255.255.255.224;
#  option routers 10.5.5.1;
#  option broadcast-address 10.5.5.31;
#  default-lease-time 600;
#  max-lease-time 7200;
#}

# Hosts which require special configuration options can be listed in
# host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.

#host passacaglia {
#  hardware ethernet 0:0:c0:5d:bd:95;
#  filename "vmunix.passacaglia";
#  server-name "toccata.example.com";
#}

# Fixed IP addresses can also be specified for hosts.   These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
#host fantasia {
#  hardware ethernet 08:00:07:26:c0:a5;
#  fixed-address fantasia.example.com;
#}

# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.

#class "foo" {
#  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
#}

#shared-network 224-29 {
#  subnet 10.17.224.0 netmask 255.255.255.0 {
#    option routers rtr-224.example.org;
#  }
#  subnet 10.0.29.0 netmask 255.255.255.0 {
#    option routers rtr-29.example.org;
#  }
#  pool {
#    allow members of "foo";
#    range 10.17.224.10 10.17.224.250;
#  }
#  pool {
#    deny members of "foo";
#    range 10.0.29.10 10.0.29.230;
#  }
#}

配置网络接口

这里需要配置正确的网络接口

  1. 编辑/etc/default/isc-dhcp-server文件,设置DHCP服务监听的网络接口。默认情况下,它将监听所有网络接口。如果需要指定特定接口,请按照以下步骤操作:
    sudo gedit /etc/default/isc-dhcp-server
  2. 找到INTERFACESv4行,并将其设置为要监听的接口名称,例如ens33,具体要用ifconfig可以查询到:
    INTERFACESv4="ens33"
  3. 保存并关闭文件。

启动和启用DHCP服务

  1. 重启DHCP服务以应用更改:
    sudo systemctl restart isc-dhcp-server
  2. 使DHCP服务在启动时自动运行:
    sudo systemctl enable isc-dhcp-server

测试DHCP服务

  1. 在另一台计算机上,将其网络设置更改为自动获取IP地址(DHCP)。
    可以两台物理机,一台做服务,一台做客户机设置DHCP,用一个交换机或者一根网线直连就可以实现。
    如果是VMWare,参照书上的做实验,将两台虚拟机连接在一起,虚拟网卡的DHCP服务关闭,两台开机就可以了。
  2. 重启计算机或断开并重新连接网络。
  3. 在新计算机的命令行中,输入以下命令以查看分配的IP地址:
    ifconfig
    或者
    ip addr

3.DNS服务部署

DNS(域名系统)是互联网上不可或缺的服务之一,它将易于记忆的域名转换为IP地址。在Ubuntu系统中搭建DNS服务器对于网络管理和维护至关重要。

安装BIND

BIND(Berkeley Internet Name Domain)是Linux系统中常用的DNS服务器软件。以下是安装BIND的步骤:

sql 复制代码
sudo apt-get update
sudo apt-get install bind9 bind9-utils

配置DNS服务器

1. 编辑主配置文件

打开主配置文件/etc/bind/named.conf,添加或修改以下内容:

bash 复制代码
zone "example.com" IN {
        type master;
        file "/etc/bind/zones/db.example.com";
};

2. 创建区域文件

创建目录

bash 复制代码
#确保目录存在
sudo mkdir -p /etc/bind/zones
#在`/etc/bind/zones/`目录下创建名为`db.example.com`的区域文件
sudo gedit /etc/bind/zones/db.example.com

db.example.com的示例内容如下(IP可以换成你自己的机器IP):

ini 复制代码
$TTL    604800
@       IN      SOA     ns1.example.com. admin.example.com. (
                          2023100401         ; Serial
                          604800            ; Refresh
                          86400             ; Retry
                          2419200           ; Expire
                          604800 )          ; Negative Cache TTL
;
@       IN      NS      ns1.example.com.
ns1     IN      A       192.168.1.10
www     IN      A       192.168.1.11

3. 配置DNS解析

/etc/resolv.conf文件中添加以下内容:

sql 复制代码
nameserver 127.0.0.1
search example.com

启动和测试DNS服务器

1. 启动DNS服务器

bash 复制代码
#启动服务
sudo systemctl restart bind9
#设置开机启动
sudo systemctl enable bind9
#确认服务状态
sudo systemctl status bind9

2. 测试DNS解析

使用nslookup命令测试DNS解析:

复制代码
nslookup www.example.com

如果结果显示解析到的IP地址正确,则表示DNS服务器配置成功。

4.Apache服务部署

Apache服务器是一款广泛使用的开源Web服务器软件,因其稳定性和功能强大而备受青睐。在Ubuntu系统下,安装和配置Apache服务器相对简单。本文将为您详细介绍如何在Ubuntu系统下快速启动和配置Apache服务器。

准备工作

在开始之前,请确保您的Ubuntu系统已经更新到最新版本。可以通过以下命令更新系统:

sql 复制代码
sudo apt update
sudo apt upgrade

确保80端口可用。可以通过以下命令来检查:

perl 复制代码
sudo netstat -tlnp | grep :80

如果输出为空,则表示系统上没有其他Web服务器。

安装Apache服务器

  1. 使用以下命令安装Apache服务器:

    sudo apt install apache2 -y

在安装过程中,系统可能会提示您输入密码以确认安装。

  1. 安装完成后,启动Apache服务:

    sudo systemctl restart apache2

  2. 设置开机自启服务,以便在系统启动时自动启动Apache服务:

bash 复制代码
sudo systemctl enable apache2
  1. 检查Apache服务的状态,确保它正在运行:
lua 复制代码
sudo systemctl status apache2

配置Apache服务器

Apache服务器的配置文件位于/etc/apache2/目录下。以下是一些基本的配置步骤:

1. 修改默认网站文档根目录

默认情况下,Apache服务器将网站文档根目录设置为/var/www/html/。您可以根据需要修改该目录:

bash 复制代码
sudo gedit /etc/apache2/apache2.conf

找到以下行并修改:

css 复制代码
DocumentRoot /var/www/html/

/var/www/html/替换为您想要设置的目录。

5.FTP服务部署

在数字化时代,文件传输是日常工作中不可或缺的一部分。FTP(文件传输协议)作为一项基础的互联网服务,广泛应用于文件的上传和下载。对用户来说,掌握FTP文件传输是一项基本技能。

Windows下,可以下载filezilla server快速创建,客户端无论是银河麒麟还是Windows都可以使用filezilla client。

一、FTP基础

1.1 什么是FTP?

FTP(File Transfer Protocol)是一种网络协议,用于在网络上进行文件传输。它允许用户在网络上共享文件、文件夹以及上传或下载文件。

1.2 FTP工作原理

FTP基于客户端-服务器模型,由FTP客户端和FTP服务器组成。客户端是用户用来上传、下载和管理文件的应用程序,而服务器则是存储文件并处理用户连接请求的服务器程序。

二、安装FTP服务器

2.1 使用vsftpd

Ubuntu系统通常预装了vsftpd(Very Secure FTP Daemon),这是最常用的FTP服务器之一。

2.1.1 安装vsftpd

bash 复制代码
sudo apt-get install vsftpd -y
sudo ufw disable  # 临时关闭(测试用)

2.1.2 配置vsftpd

安装完成后,可以编辑配置文件 /etc/vsftpd.conf 来自定义FTP服务器的行为。

bash 复制代码
sudo gedit /etc/vsftpd.conf

在配置文件中,可以设置用户权限、匿名访问、数据传输模式等。

将默认设置改为如下(简化的配置,确保ftp服务正常启动)

ini 复制代码
# 基础配置
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

# 目录配置
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

# 安全配置
chroot_local_user=YES
allow_writeable_chroot=YES

# 用户控制
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

# 其他必要配置
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
utf8_filesystem=YES

使用虚拟用户

创建独立的虚拟用户,不使用系统用户,安全性更高:

  1. 安装必要工具

    sudo apt install libpam-pwdfile

  2. 创建虚拟用户密码文件

bash 复制代码
sudo mkdir /etc/vsftpd #如果没有存在就建一个
# 创建密码文件并添加用户
sudo touch /etc/vsftpd/virtual_users.passwd
sudo chmod 600 /etc/vsftpd/virtual_users.passwd

# 添加虚拟用户(替换 yourpassword 为实际密码)
sudo htpasswd -b /etc/vsftpd/virtual_users.passwd virtualuser1 yourpassword1
sudo htpasswd -b /etc/vsftpd/virtual_users.passwd virtualuser2 yourpassword2
  1. 配置 PAM 认证

创建 /etc/pam.d/vsftpd.virtual 文件:

arduino 复制代码
sudo gedit /etc/pam.d/vsftpd.virtual

添加内容:

swift 复制代码
auth    required    pam_pwdfile.so pwdfile /etc/vsftpd/virtual_users.passwd
account required    pam_permit.so
  1. 创建虚拟用户映射的系统用户
arduino 复制代码
sudo useradd -d /data/ftp/virtual -s /usr/sbin/nologin virtual
sudo mkdir -p /data/ftp/virtual/{virtualuser1,virtualuser2}
sudo chown -R virtual:virtual /data/ftp/virtual
  1. 修改 vsftpd.conf 配置
ini 复制代码
# 启用虚拟用户
guest_enable=YES
guest_username=virtual
virtual_use_local_privs=YES

# PAM 配置
pam_service_name=vsftpd.virtual

# 用户配置目录
user_config_dir=/etc/vsftpd/user_conf
  1. 创建用户独立配置
bash 复制代码
sudo mkdir -p /etc/vsftpd/user_conf

# 为 virtualuser1 创建配置
sudo gedit /etc/vsftpd/user_conf/virtualuser1

添加内容:

ini 复制代码
local_root=/data/ftp/virtual/virtualuser1
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

同理为 virtualuser2 创建配置:

bash 复制代码
sudo gedit /etc/vsftpd/user_conf/virtualuser2

添加内容:

ini 复制代码
local_root=/data/ftp/virtual/virtualuser2
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

2.1.3 重启vsftpd

配置完成后,重启vsftpd以应用更改。

lua 复制代码
sudo systemctl restart vsftpd
sudo systemctl status vsftpd

2.2 设置开机自启

为了确保FTP服务在系统启动时自动运行,可以将vsftpd设置为开机自启。

bash 复制代码
sudo systemctl enable vsftpd

在文件浏览中输入服务的IP地址

arduino 复制代码
ftp://192.168.10.200

6.Samba服务部署

Samba是一种允许Unix-like系统(如Ubuntu)与其他Windows系统之间进行文件和打印机共享的协议。通过配置Samba,您可以轻松地在不同的操作系统之间共享文件和打印机。本文将详细介绍如何在Ubuntu上配置Samba,实现跨平台文件共享。

Samba的基本概念

在开始配置之前,让我们先了解一些基本概念:

  • SMB/CIFS:Samba基于SMB(Server Message Block)和CIFS(Common Internet File System)协议,这些协议是Windows文件共享的基础。
  • Samba服务器:运行Samba软件的计算机,它允许其他计算机访问共享资源。
  • Samba客户端:连接到Samba服务器并访问共享资源的计算机。

安装Samba

在Ubuntu上安装Samba非常简单。打开终端并执行以下命令:

sql 复制代码
sudo apt update
sudo apt install samba samba-common

配置Samba

Samba的配置文件位于/etc/samba/目录下,主要的配置文件是smb.conf

编辑smb.conf文件

打开smb.conf文件进行编辑:

bash 复制代码
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak #先备份
sudo gedit /etc/samba/smb.conf #再修改

基本配置

smb.conf文件中,找到[global]部分,进行以下配置(smb.conf最小配置,确保服务启动):

ini 复制代码
[global]
    workgroup = WORKGROUP
    security = user

[myshare]
    path = /srv/samba/myshare
    writable = yes
    valid users = user1 user2  # 只允许这两个用户访问

配置用户

第一步:创建共享目录

bash 复制代码
sudo mkdir -p /srv/samba/myshare
sudo chmod 777 /srv/samba/myshare  # 简单设置权限

第二步:创建用户并设置密码

bash 复制代码
# 创建系统用户(如果没有)
sudo useradd user1
sudo useradd user2

# 设置Samba密码(关键!)
sudo smbpasswd -a user1  # 按提示输入密码
sudo smbpasswd -a user2  # 按提示输入密码

第三步:重启服务

复制代码
sudo systemctl restart smbd

更简单的 "任何人可访问" 配置(如果不需要限制用户)

ini 复制代码
[global]
    workgroup = WORKGROUP
    security = user
    map to guest = Bad User

[public]
    path = /srv/samba/public
    writable = yes
    guest ok = yes  # 允许匿名访问

重启Samba服务

完成配置后,重启Samba服务使更改生效:

复制代码
sudo systemctl restart smbd
sudo systemctl restart nmbd

测试Samba共享

在Windows上,您可以打开"文件资源管理器",在地址栏中输入Samba服务器的IP地址,然后输入正确的用户名和密码即可访问共享文件夹。

复制代码
\192.168.10.200

7.nginx服务部署

Nginx是一个高性能的HTTP和反向代理web服务器,同时也是IMAP/POP3/SMTP服务的提供者。由于其轻量级和高并发处理能力,Nginx在互联网中得到了广泛的应用。本文将详细介绍如何在Ubuntu系统上从零开始安装和配置Nginx。

注意:Apache默认也是80端口,将apache服务停掉。我们也可以在nginx配置中,改掉商品,改成8080,8090等其他的端口

bash 复制代码
sudo systemctl disable apache2 #停止开机启动
sudo systemctl stop apache2 #停止服务
sudo reboot #重启系统

确保80端口可用。可以通过以下命令来检查:

perl 复制代码
sudo netstat -tlnp | grep :80

如果输出为空,则表示系统上没有其他Web服务器。

安装Nginx

更新软件包索引

在安装Nginx之前,首先需要更新软件包索引:

sql 复制代码
sudo apt update

安装Nginx

接下来,使用以下命令安装Nginx:

复制代码
sudo apt install nginx

安装过程中可能会提示您确认安装,输入Y并按回车继续。

验证安装

安装完成后,可以通过以下命令验证Nginx是否安装成功:

复制代码
nginx -v

如果看到Nginx的版本信息,说明安装成功。

启动和停止Nginx

启动Nginx

使用以下命令启动Nginx:

sql 复制代码
sudo systemctl start nginx

停止Nginx

使用以下命令停止Nginx:

arduino 复制代码
sudo systemctl stop nginx

重启Nginx

使用以下命令重启Nginx:

复制代码
sudo systemctl restart nginx

设置Nginx开机自启

使用以下命令设置Nginx开机自启:

bash 复制代码
sudo systemctl enable nginx

配置Nginx

查看默认配置文件

Nginx的默认配置文件位于/etc/nginx/nginx.conf。您可以使用以下命令查看:

bash 复制代码
sudo vim /etc/nginx/nginx.conf

编辑默认配置文件

根据您的需求,您可以修改默认配置文件。以下是一些常见的修改内容:

  • 修改服务器监听的端口
  • 配置服务器根目录
  • 配置反向代理

这里面可以默认监听端口和网站文件目录

arduino 复制代码
/etc/nginx/sites-enabled/default

内容如下

ini 复制代码
server {
    listen 809default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;
    server_name _;
    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
    }
}

重载Nginx配置

重新加载Nginx配置以使更改生效:

复制代码
sudo systemctl reload nginx

测试网站

在浏览器中输入您的服务器IP地址,如果一切正常,您应该能看到Nginx的默认欢迎页面。

注:本文参考了www.oryoy.com/上的Ubuntu轻松上手系列教程

写在最后

本篇主要目标是告诉大家怎么简单快速的部署常见的服务

信创开源资源,尽在XPlaza!

相关推荐
列逍3 小时前
操作系统初识:从硬件架构到核心原理
运维·服务器·操作系统·硬件架构
zxy28472253011 天前
解决笔记本电脑进入操作系统黑屏只有鼠标的问题
操作系统·win10·鼠标·黑屏·突然
meadel1 天前
windows 系统触摸屏禁用左右滑动
操作系统
Kyle01231 天前
Cache缺失、缺页和TLB缺失的处理机制解析
操作系统·408·计组
REDcker2 天前
软件开发者需要关注CPU指令集差异吗?
linux·c++·操作系统·c·cpu·指令集·加密算法
技术小甜甜2 天前
[电脑疑难档案] WSL 无法连接 MySQL 的解决方案:127.0.0.1 不管用?试试这个方法!
操作系统·开发·wsl
不穿格子的程序员3 天前
操作系统篇3——深入理解操作系统:Linux 常用命令、系统中断与用户态/内核态详解
linux·服务器·操作系统·内核态·用户态·中断
海棠蚀omo3 天前
Linux信号保存的核心:未决信号集与阻塞信号集——探秘内核如何实现信号的阻塞、暂存与派发
linux·操作系统
不穿格子的程序员3 天前
操作系统篇4——深入理解操作系统:僵尸进程、孤儿进程与进程调度算法详解
操作系统·僵尸进程·孤儿进程·进程调度