# 阿里云服务器实践 与 Nginx 部署

TIP

快速了解阿里云服务器和具体操作,远程链接,Linux 下常用命令,Nginx 服务器安装卸载、常用命令、相关配置,最佳实践与简单部署。 华为云的实践与部署

# 一、阿里云服务器

TIP

为了保证环境的统一性,我们直接购买阿里云的服务器作为实战基础环境。

# 1、注册登录阿里云平台

# 2、选择云服务器 ECS

image-20220819223948703

产品 -> 云服务器 ECS

image-20220819224128409

进入管理控制台

# 3、选择按量付费

TIP

共享型即可,学习测试阶段可选择1 核 1G即可(经济实惠)

image-20211009035919575

# 4、选择公共镜像和存储大小

image-20211009040409904

# 5、网络和安全组

image-20211009040746073

默认即可

# 6、系统配置

TIP

选择自定义密码 -> 输入服务器密码(一定要记录下来,否则无法登录)

image-20211009041235587

# 7、分组设置

TIP

可默认不动,直接下一步

image-20211009041348062

# 8、确认服务器相关信息无误,创建实例即可

image-20211009041659841

# 9、创建成功,进入管理控制台

image-20211009041753105

# 10、IP 地址即为 服务器 IP

image-20211009041858922

# 二、XShell 和 Xftp 远程链接云服务器

TIP

我们每天需要对 linux 服务器进行操作、文件传送等,那就需要一款高效 Secure Shell 软件(简称 SSH 的)

  • 实际上,SSH 是一个网络协议,允许通过网络连接到 Linux 和 Unix 服务器。SSH 使用公钥加密来认证远程的计算机。

XShell 和 Xftp 是 NetSarang 计算机公司 SSH 客户端软件

  • XShell 是非常强大的 SSH 客户端
  • Xftp 通过网络传输文件

其他常用的 SSH 登录工具

  • SecureCRT
  • Putty
  • Git Bash
  • ... 等

# 1、下载免费版 XShell 和 Xftp

image-20220820015627367

注意:需要一个有效的电子邮件地址。下载链接将发送到您的邮箱。

image-20220820021506261

# 2、XShell 和 Xftp 安装过程直接下一步

注意:选择免费版即可 !

两个客户端都需要安装好,XShell 用于命令行操作服务器,Xftp 用于对服务器的文件上传和下载

# 3、新建连接服务器

TIP

新建会话链接 -> 输入服务器名称(可自定义) -> 输入主机 ip 地址(服务器公网 ip)-> 端口号 22 -> 其他默认,点击确认即可

image-20211009044101172

选择 “接受并保存”

image-20211009044153023

双击选择我们的服务器名称 -> 输入登录服务器的用户名(默认用户名为 root)-> 勾选记住用户名

image-20211009044410257

输入服务器密码 - > 确认

image-20211009044506328

# 4、输入命令连接测试

ls /  或 cd /
ll
或
ping baidu.com

都可以访问,即连接成功 !

image-20220820153910648

注:

如无法登录成功,检查用户名和密码是否正确,同时检查云服务器的安全组是否有开启 22 端口

# 5、Linux 系统目录结构

登录系统后,在当前命令窗口下输入命令:

ls /
或
cd /
ll

你会看到如下图:

image-20220820155033234

树状目录结构:

img

关于 Linux 或 Unix 操作系统中目录结构的简介

在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。

文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。

在 Linux 文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点 . 来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点 .. 来表示。

  • . 代表当前的目录,也可以使用./来表示;
  • .. 代表上一层目录,也可以../来代表。

如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件(如:.bashrc)即以默认方式查找时,不显示该目录或文件。

系统启动必须

目录 描述
/boot 存放的启动 Linux 时使用的内核文件,包括连接文件以及镜像文件。
/etc 存放所有的系统需要的配置文件子目录列表 ,更改目录下的文件可能会导致系统不能启动。
/lib 存放基本代码库(比如 c++库),其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/sys 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面 3 种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

指令集合

目录 描述
/bin bin 是 Binaries(二进制文件) 的缩写,存放着最常用的程序和指令
/sbin s 就是 Super User 的意思,是 Superuser Binaries(超级用户的二进制文件)的缩写,这里存放的是系统管理员使用的系统管理程序。

外部文件管理

目录 描述
/dev Device(设备)的缩写, 存放的是 Linux 的外部设备。
注意: 在 Linux 中访问设备的方式和访问文件的方式是相同的。
/media linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt 临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

临时文件

目录 描述
/run 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/tmp tmp 是 temporary(临时) 的缩写,这个目录是用来存放一些临时文件的。

账户

目录 描述
/root 系统管理员的用户主目录。 该目录为系统管理员,也称作超级权限者的用户主目录。
/home 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
/usr usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/bin 系统用户使用的应用程序与指令。
/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src 内核源代码默认的放置目录。

运行过程中要用

目录 描述
/var var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西。
存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
/proc proc 是 Processes(进程) 的缩写,管理内存空间虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。

扩展用的

目录 描述
/opt opt 是 optional(可选) 的缩写,默认是空的。
这是给主机额外安装软件所摆放的目录。比如你安装一个 ORACLE 数据库则就可以放到这个目录下。
/srv 存放服务启动后需要提取的数据 (不用服务器就是空)

注意:

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

  • /etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
  • /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
  • 值得提出的是/bin、/usr/bin是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
  • /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

# 6、通过 Xftp 链接服务器,用于文件上传

TIP

首先,需要先安装 Xftp 客户端 -> 在 XShell 的工具栏中,点击 Xftp 图标即可打开 Xftp 客户端 - 无需在输入任何用户名和密码验证(非常方便)

image-20220820031925579

打开 Xftp 客户端 - > 即可向服务器上传文件或下载文件

image-20220820032657942

# 三、Nginx 服务器

TIP

Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。

Nginx 官网:http://nginx.org/ (opens new window)

# 1、Nginx 简介

TIP

Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

  • 其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011 年 6 月 1 日,nginx 1.0.4 发布。
  • Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在 BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 nginx 的并发能力在同类型的网页服务器中表现较好
  • 中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

img

# 2、Nginx 官网学习

TIP

深入阅读 nginx 官方网站相关文档

image-20211009051300634

# 3、下载 Nginx

image-20211009051838683

查看所有历史版本,地址: http://nginx.org/download/ (opens new window)

# 4、通过 yum 方式安装 Nginx

# ① 安装先决条件

# 升级所有包同时也升级软件和系统内核
yum update
# 安装yum依赖
yum install yum-utils

# ② 添加 yum 源文件

cd /etc/yum.repos.d/
# 添加nginx的yum源码
vim nginx.repo

# 或 直接新建 nginx.repo 文件
vim /etc/yum.repos.d/nginx.repo

# ③ 添加配置信息到 nginx.repo 文件中

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

保存退出 esc

:wq

注:阿里云服务器安装快速版

  • 在阿里云服务器中可以省略 ①、②、③ 步骤
  • 从步骤 4 开始,阿里云已经具备相关依赖并默认已经指定 yum 源,可直接执行 yum install nginx 一键安装即可

# ④ 安装 Nginx

yum install -y nginx
# yum install nginx
# 如果使用yum install xxxx,会找到安装包之后,询问你Is this OK[y/d/N],需要你手动进行选择。但是如果加上参数-y,就会自动选择y,不需要你再手动选择!

# ⑤ 查看 Nginx 的版本号

nginx -v
# 显示nginx的版本号和编译信息
nginx -V

# ⑥ 查看安装的所有 Nginx 包

yum list | grep nginx

# ⑦ 查看 Nginx 安装相关的文件位置信息

whereis nginx

image-20220820182224601

Nginx 目录结构

# Nginx终端管理理命令
/usr/sbin/
# 启动 Nginx
/usr/sbin/nginx

# Nginx 配置
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf

# Nginx模块⽬录
/usr/lib64/nginx

# 默认站点目录
/usr/share/nginx
路径 类型 作用
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
配置文件 Nginx 主配置文件
/etc/nginx/fastcgi_params
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
配置文件 Cgi、Fastcgi、Uwcgi 配置⽂文件
/etc/nginx/win-utf
/etc/nginx/koi-utf
/etc/nginx/koi-win
配置文件 Nginx 编码转换映射文件
/etc/nginx/mime.types 配置文件 http 协议的 Content-Type 与扩展名
/usr/lib/systemd/system/nginx.service 配置文件 配置系统守护进程管理器
/etc/logrotate.d/nginx 配置文件 Nginx ⽇志轮询,⽇志切割
/usr/sbin/nginx
/usr/sbin/nginx-debug
命令 Nginx 终端管理理命令
/etc/nginx/modules
/usr/lib64/nginx
/usr/lib64/nginx/modules
目录 Nginx 模块⽬录
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
目录 默认站点目录
/usr/share/doc/nginx-1.12.2
/usr/share/man/man8/nginx.8.gz
目录 Nginx 的帮助手册
/var/cache/nginx 目录 Nginx 的缓存目录
/var/log/nginx 目录 Nginx 的日志目录

# 5、启动 Nginx

cd /usr/sbin/
./nginx
或
/usr/sbin/nginx

访问出现以下界面,则 Nginx 启动成功

image-20211009060801563

# ① 判断 Nginx 是否运行成功

TIP

  • 在 linux 系统中运行的每个应用程序都会产生一个进程,可通过查看 nginx 进程是否存在来判断 nginx 是否运行成功。
  • 或者查看 Nginx 是否正在运行中 !
ps -ef  | grep nginx
# ps -ef:列出所有进程
# grep nginx:过滤掉和nginx无关的进程

image-20211009064511234

查看 nginx 的进程 id

ps -C nginx -o pid

image-20211009064807130

# ② 检查 nginx 配置文件的正确性

TIP

配置文件中是否存在语法错误,以及可查看 nginx 的配置文件所在路径

nginx -t

# 6、Nginx 常用命令

# 修改配置文件后重新加载生效
nginx -s reload
# 快速停止或关闭Nginx服务
nginx -s stop  # 或 杀掉Nginx进程
# 完整有序的停止Nginx
nginx -s quit
# 查询运行文件所在路径
which nginx

# 7、vim 模式编辑文件

# 进入默认站点目录
cd /usr/share/nginx/
ll
cd html/
ls
# 编辑 index.html 页面
vim index.html
# 按下 “i” 键编辑即可

# 不保存强制退出
:q!
# 保存
:w
# 保存并退出
:wq

# 只查看,不编辑
cat index.html

# 8、完全卸载 Nginx

TIP

卸载 Nginx 前,需要先停止 Nginx 服务器

# ① 停止 Nginx 服务

# 查看 nginx 的运行进程
ps -ef  | grep nginx
# 方式一:直接停止或关闭 nginx
nginx -s stop
# 再次查看 nginx 的运行进程
ps -ef  | grep nginx

image-20220821003133687

# 查看nginx的文件位置
whereis nginx
# 再次启动 nginx
/usr/sbin/nginx
# 查看 nginx 的运行进程
ps -ef | grep nginx
# 方式二:杀掉 nginx的进程 注:19175 19176 进程的PID值 每次启动都会不一样
kill -9 19175 19176
# 再次查看 nginx 的运行进程
ps -ef | grep nginx

image-20220821003951987

# ② 查找根下所有名字包含 nginx 的文件

find / -name nginx

image-20211009064731267

# ③ 执行命令 rm -rf * 删除 nignx 安装的相关文件

TIP

说明:全局查找往往会查出很多相关文件,但是前缀基本都是相同,后面不同的部分可以用 * 代替,以便快速删除

rm -rf 文件路径*

# 为保证准确无误的删除每一个目录和文件,建议逐个删除

# ④ 其他设置

TIP

如果设置了 Nginx 开机自启动的话,可能还需要下面两步

chkconfig nginx off
rm -rf /etc/init.d/nginx

# ⑤ 再使用 yum 清理相关依赖和软件包

yum remove nginx

删除之后,便可重新安装新的 nginx 了

# 四、Nginx 静态网站部署

TIP

使用 Nginx 的简单部署和企业级项目部署两种方式

# 1、简单部署(初体验)

TIP

直接进入 Nginx 的默认站点静态文件目录 /usr/share/nginx/html 将自己的项目文件上传上来即可完成基础的测试部署,作为 Nginx 部署的初体验

# 查看nginx的文件位置
whereis nginx
# 进入nginx 默认站点静态文件目录
cd /usr/share/nginx/
ll
cd html
ll

image-20220821010502191

登录链接 Xftp

image-20220821022545902

上传项目源文件

image-20220821015018559

上传网站源文件后,在浏览器中输入服务器 ip 即可访问

image-20220821022334789

上次更新时间: 6/8/2023, 9:23:17 PM

大厂最新技术学习分享群

大厂最新技术学习分享群

微信扫一扫进群,获取资料

X