如何在 OpenSUSE Linux 服务器上安装和使用 Nginx
简介– Nginx [engine x] 是一款免费开源高性能 Web 服务器。它还可充当反向代理服务器。本页介绍如何在 OpenSUSE Linux 上安装 Nginx 服务器并配置静态网站。
教程要求 | |
---|---|
要求 | OpenSUSE Linux |
Root 权限 | 是的 |
难度等级 | 简单的 |
预计阅读时间 | 5 分钟 |
如何在 OpenSUSE Linux Enterprise Server 上安装 Nginx
在 OpenSUSE Linux 版本 15.1/15.2 或 Tumbleweed 上安装 Nginx weber 服务器的步骤如下:
- 使用 ssh 命令登录到您的云服务器或裸机服务器:
ssh user@cloud-server-ip - 使用 zypper 或 cnf 搜索 nginx 软件包名称:
cnf nginx
或
zypper search nginx - 在 OpenSUSE 上使用 zypper 命令安装 nginx 包:
sudo zypper update
sudo zypper install nginx
让我们详细了解 OpenSUSE Linux 的所有步骤、命令和配置。
搜索 nginx 包
通过运行以下 cnf 命令和 zypper 命令来查找 OpenSUSE 上是否有可用的 nginx Web 服务器:
查找有关 nginx 的信息:
$ cnf nginx
$ zypper info nginx
$ sudo zypper info nginx
Loading repository data... Reading installed packages... Information for package nginx: ------------------------------ Repository : Main Update Repository Name : nginx Version : 1.16.1-lp151.4.11.1 Arch : x86_64 Vendor : openSUSE Installed Size : 2.6 MiB Installed : No Status : not installed Source package : nginx-1.16.1-lp151.4.11.1.src Summary : A HTTP server and IMAP/POP3 proxy server Description : nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev. It has been running on many heavily loaded Russian sites for more than two years.
在 OpenSUSE Linux 上安装 nginx
要安装 Nginx 版本 1.14.0(OpenSUSE 中最新稳定版本),请运行以下 zypper 命令:
$ sudo zypper install nginx
使用 zypper 命令安装 nginx
如何在 OpenSUSE 上启动、停止、重新启动 Nginx 服务器
使用 systemctl 命令:
$ sudo systemctl start nginx ## <-- start the service ##
$ sudo systemctl restart nginx ## <-- restart the service ##
$ sudo systemctl stop nginx ## <-- stop the service ##
$ sudo systemctl status nginx ## <-- Get the status of the service ##
如何在 OpenSUSE 上启动时启用 Nginx 服务
再次运行以下 systemctl 命令:
$ sudo systemctl enable nginx.service
启动它:
$ sudo systemctl start nginx.service
使用 ss 命令验证 nginx 是否正在运行并且 TCP 端口 80 是否打开:
$ sudo ss -tulpn | grep nginx
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=20511,fd=6),("nginx",pid=20510,fd=6))
在 OpenSUSE 服务器上配置 nginx
让我们使用文本编辑器(例如 vim 命令)在 /srv/www/htdocs 中创建一个示例 index.html 文件:
$ sudo vi /srv/www/htdocs/index.html
附加以下 html:
<html> <head> <title>OpenSUSE Linux - Nginx Server by example</title> </head> <body> <h1>Welcome</h1> <p>This is a test server for static files.</p> <hr> <small>Powered by nginx and OpenSUSE Linux server</small> </body> </html>
在 vim文本编辑器中保存并关闭文件。使用ip 命令和grep 命令找出你的服务器 IP 地址
$ ip a s
$ ip a s eth0
$ ip a s eth0 | grep -w inet
inet 192.168.2.133/24 brd 139.162.28.255 scope global eth0
打开网页浏览器并输入 url:
http://server-ip/
http://192.168.2.133/
配置 Nginx 服务器
在 OpenSUSE Linux 上配置 Nginx 的重要文件和目录:
- 配置目录 - /etc/nginx/
- 主/全局配置文件 - /etc/nginx/nginx.conf
- Nginx 开放的默认 TCP 端口 - 80 (HTTP)、443 (HTTPS)
- 文档根目录 – /srv/www/htdocs/
- 虚拟主机域配置目录 – /etc/nginx/vhosts.d/
要编辑文件,请使用文本编辑器(例如 vi):
$ sudo vi /etc/nginx/nginx.conf
您可以将 html/css/js 和图像上传或复制到 /srv/www/htdocs/:
或者使用 rsync 命令或 sftp 命令从本地桌面复制到远程服务器:
$ cd /srv/www/htdocs/
$ sudo cp /backups/your-domain/*.html .
$ sudo cp /backups/your-domain/*.css .
$ sudo cp /backups/your-domain/*.png .
$ rsync -avP ~/projects/static/your-domain/* root@192.168.2.133:/srv/www/htdocs/
使用firewalld打开TCP端口80和443
运行以下命令来查找您的默认区域:
sudo firewall-cmd --get-default-zone
示例输出:
public
接下来,为公共区域打开 TCP 端口 80(http):
sudo firewall-cmd --zone=public --add-service=http --permanent
运行相同的命令,但针对 TCP 端口 443(https):
sudo firewall-cmd --zone=public --add-service=https --permanent
最后,重新加载防火墙,运行:有关更多信息,
sudo firewall-cmd --reload
请参阅“如何在 OpenSUSE Linux 上使用 FirewallD 设置防火墙”。
安装其他 nginx 模块
使用以下命令搜索附加模块以增强 Nginx 服务器功能:
$ sudo zypper search nginx
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
---+----------------------------------------+---------------------------------------------------------------------------------+-----------
| dehydrated-nginx | Nginx Integration for dehydrated | package
i | nginx | A HTTP server and IMAP/POP3 proxy server | package
| nginx | A HTTP server and IMAP/POP3 proxy server | srcpackage
| nginx-geolite-asn | IP ASN geolocation databases for nginx | package
| nginx-geolite-city | Free IP city geolocation databases for nginx | package
| nginx-geolite-country | Free IP country geolocation databases for nginx | package
| nginx-ingress-controller | Kubernetes ingress controller for nginx | package
i+ | nginx-module-brotli | NGINX module for Brotli compression | package
| nginx-module-cookie-flag | The Nginx module for adding cookie flag | package
| nginx-module-devel-kit | Additional generic tools for nginx module development | package
| nginx-module-devel-kit-source | The nginx-module-devel-kit source | package
| nginx-module-http-auth-digest | Digest Authentication for Nginx | package
| nginx-module-http-substitutions-filter | Regular expression and fixed string substitutions nginx filter module | package
| nginx-module-modsecurity | ModSecurity v3 Nginx Connector | package
| nginx-module-set-misc | Various set_xxx directives added to nginx's rewrite module | package
| nginx-module-sticky-ng | Nginx module to add a sticky cookie to be forwarded to the same upstream server | package
| nginx-module-vts | Nginx virtual host traffic status module | package
| nginx-source | The nginx source | package
| pcp-pmda-nginx | Performance Co-Pilot (PCP) metrics for the Nginx Webserver | package
| python-certbot-nginx | Nginx plugin for Certbot | srcpackage
| python2-certbot-nginx | Nginx plugin for Certbot | package
| python3-certbot-nginx | Nginx plugin for Certbot | package
| rubygem-passenger-nginx | Passenger Nginx module | package
| vim-plugin-nginx | VIM support for nginx config files | package
例如,可以按如下方式安装 ModSecurity 模块:
$ sudo zypper in nginx-module-modsecurity
结论
在本系列的下一篇中,您将学习如何在 OpenSUSE Linux 服务器上安装最新版本的 PHP 7.xx 并使用 TLS/SSL 证书进行安全通信。有关 nginx 配置的更多信息,请参阅此处的页面。
- 在 OpenSUSE Linux Enterprise Server 上安装和使用 Nginx
- 在 OpenSUSE Linux 上使用 Let's Encrypt 保护 Nginx
- 在 OpenSUSE Linux 15.2/15.1 上安装 PHP