- /
- Skills/
- 建站/
- 使用nginx创建web网页服务/
使用nginx创建web网页服务
目录
nginx 来自战斗民族的软件产品,用于在服务器上搭配http服务,性能表现非常优秀,在全球范围内打遍天下无敌手。只要是搞建站建设、系统建设的人,无人不晓。
国内有 nginx 的修改版本,好像没有修改版本就代表自己技术不够牛,配不上互联网大厂的称呼一样。
- 阿里,有 tengine
- 360,有 openresty
nginx 支持 windows、macos、linux,实际情况,基本都是部署在 linux 上。下面以 ubuntu
为例来描述。
如何安装 #
# 使用有root权限的用户操作
> sudo apt update
> sudo apt install nginx
安装成功,系统会自动启动,可以使用下面的命令来验证:
> sudo systemctl status nginx
> # 或者
> sudo service nginx status
ubuntu@VM-12-6-ubuntu:~$ sudo service nginx status
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enable>
Active: active (running) since Sat 2021-02-27 21:00:58 CST; 1 months 25 days ago
Docs: man:nginx(8)
Main PID: 1002 (nginx)
Tasks: 3 (limit: 4474)
Memory: 15.6M
CGroup: /system.slice/nginx.service
├─ 1002 nginx: master process /usr/sbin/nginx -g daemon on; master_proc>
├─3269729 nginx: worker process
└─3269730 nginx: worker process
以上使用到的 systemctl、service 命令, 是 linux 的服务管理器。
配置网站 #
使用上节的方法,可以在系统安装上 nginx 服务环境,安装包已经带有默认的配置,这个配置已经可以直接用于生产环境。
一般的,配置文件的保存路径在 /etc/nginx
下,主配置文件为 nginx.conf,在 /etc/nginx/site-enabled 目录下配置的站点,是生效的站点。所以一般运维的习惯是将站点的配置文件保存在 /etc/nginx/site-available,然后需要生效的,就在 site-enabled 下创建一个文件链接。
nginx没有强制性的要求你的网页文件、日志文件应该放在哪个位置,这些都可以在配置文件中来指定。
例如本站的网页文件放在 /home/public/youwu
目录下,那么在原有默认配置都不修改的情况下,按以下的操作添加简单配置之后就可以生效。
- 添加一个站点配置
/etc/nginx/site-available/default 是一个站点配置模板
在 /etc/nginx/site-available
下添加一个站点配置文件,内容如下:
# my site
# /etc/nginx/site-available/youwu.conf
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
index index.html index.htm;
# server_name _;
server_name youwu.today; # 这里修改为你的域名
error_page 404 /404.html;
location / {
root /home/public/youwu;
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
nginx的配置文件,每一行的结束是以
;
来表示的,所以在一项配置结束后,记得写上;
号,不然会出现奇怪的错误。
保存后,在 site-enabled 下创建一个文件链接,
> # 进入 /etc/nginx
> sudo ln -s ./site-available/youwu ./site-enabled/youwu
> # 刷新 nginx 的配置,无须重启
> sudo nginx -s reload
上面的配置完成后,通过域名 youwu.today 可以正常访问了,非常简单,本站就是在网站备案完成之后,使用ngnix快速部署的,当然,需要事先准备好网页文件。
使用域名的,需要准备一个有效域名(dns能正常解析到服务器)。若此时还没有可用域名,在上面的配置例子中,使用 _; ,然后通过ip来使用http服务。
若你的网站也同本站一样,需要准备域名及网站备案的,可以看
关于快速建站,特别是静态网站,可以考虑本站使用的hugo,需要的看
启动、停止,或修改配置 #
若服务器环境是 ubuntu,那么使用 service 或者 systemctl 来管理 nginx 的服务进程。
> # 启动:使用 systemctl
> sudo systemctl start nginx
> # 启动:使用 service
> sudo service nginx start
> # 停止:使用 systemctl
> sudo systemctl stop nginx
> # 停止:使用 service
> sudo service nginx stop
> # 查看状态: 使用 systemctl
> sudo systemctl status nginx
> # 查看状态:使用 service
> sudo service nginx status
一般地,在修改了站点配置之后,无须重启服务,刷新即可。
> sudo nginx -s reload