如何在 Alpine Linux 上安装 Nginx Web 服务器
Nginx 是一个免费的开源 Web 服务器。您需要使用 nginx 来显示使用 PHP/Python 创建的静态或动态网页。Nginx 还可以充当反向代理和负载平衡器。本教程介绍如何在 Alpine Linux 上安装 nginx。
在 Alpine Linux 上安装 Nginx Web 服务器
让我们详细了解在 Alpine Linux 上安装 Nginx、创建用户和建立您的第一个网站的所有步骤和命令。
步骤 1. 安装 Nginx Web 服务器
首先更新你的 repo,运行apk 命令如下:
# apk update
安装 nginx 服务器,运行:
# apk add nginx
示例输出:
图01:安装Nginx Web服务器
步骤 2. 创建用户和 Nginx 目录
我将把文件存储在 /home/www/ 目录中,并为 nginx 创建一个名为 wwwcbz 的用户。运行以下命令:系统
# adduser -g 'Nginx www user' -h /home/www/ wwwcbz
将提示您输入密码,如下所示:
Changing password for wwwcbz New password: Retype password: passwd: password for wwwcbz changed by root
在哪里,
- -g 'Nginx www user':设置帐户 wwwcbz 的一般信息
- -h /home/www/:帐户主目录
- wwwcbz:账户名称
步骤 3.Nginx 配置
您需要编辑 /etc/nginx/nginx.conf 文件:
# vi /etc/nginx/nginx.conf
您的虚拟主机配置位于 /etc/nginx/conf.d/ 目录中:
# ls -l /etc/nginx/conf.d/
示例输出:
-rw-r--r-- 1 root root 342 May 9 17:48 default.conf
找出你的服务器 IP 地址,运行 ifconfig 命令或ip 命令:
# ip a
或者
# ifconfig -a
图 02:在 Alpine Linux 上查找您的 IP 地址
# vi /etc/nginx/conf.d/www.example.com.conf
server { # server ip # listen 10.114.13.11:80; # virtual server name i.e. domain name # server_name www.example.com; # document root # root /home/www; # log files access_log /var/log/nginx/www.example.com_access.log; error_log /var/log/nginx/www.example.com_error.log; # cache files on browser level # # Directives to send expires headers and turn off 404 error logging. # location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { access_log off; log_not_found off; expires max; } }
我建议您阅读Nginx wiki 以了解所有其他配置选项。
步骤 4.启动 Nginx 服务器
确保 nginx 在系统重启时启动:
# rc-update add nginx default
示例输出:
* service nginx added to runlevel default
键入以下命令来启动 nginx 服务器:
# /etc/init.d/nginx start
或
# rc-service nginx start
或
# service nginx start
示例输出:
* Caching service dependencies ... [ ok ] * /run/nginx: creating directory * /run/nginx: correcting owner [ ok ] * Starting nginx ...
重启 nginx 服务器的命令
# rc-service nginx restart
停止 nginx 服务器的命令
# rc-service nginx stop
查看nginx服务器状态的命令
# rc-service nginx status
步骤 5:查看日志文件
可以借助grep 命令/ egrep 命令/ more 命令/ tail 命令查看默认日志文件:
最后,您必须在 Alpine Linux 中配置 logrotate 来轮换 Nginx 日志文件。
# less /var/log/nginx/error.log
# less /var/log/nginx/access.log
# tail -f /var/log/nginx/www.example.com_access.log
# grep 'error' /var/log/nginx/www.example.com_error.log
验证 Nginx 是否正在运行
键入以下 pgrep 命令:
# pgrep nginx
或者将 ps 命令与grep 命令
# ps aux | grep "[n|N]ginx"
一起使用
示例输出:
27876 root 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf 27877 nginx 0:00 nginx: worker process 27878 nginx 0:00 nginx: worker process 27879 nginx 0:00 nginx: worker process 27880 nginx 0:00 nginx: worker process 27882 nginx 0:00 nginx: worker process 27883 nginx 0:00 nginx: worker process 27884 nginx 0:00 nginx: worker process 27885 nginx 0:00 nginx: worker process
验证 Nginx 端口是否开放
使用 netstat 命令:
# netstat -tulpn | grep :80
示例输出:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 27876/nginx.conf tcp 0 0 :::80 :::* LISTEN 27876/nginx.conf
- 在 Alpine Linux 上安装 Nginx
- 在 Alpine Linux 上安装 PHP7-fpm
- 如何安装和配置 logrotate
- 如何在 Alpine Linux 上为 Nginx 证书安装 Letsencrypt 免费 SSL/TLS