如何在OpenSUSE Linux服务器上安装和使用Nginx

时间:2020-01-09 10:40:53  来源:igfitidea点击:

如何使用CLI在OpenSUSE Linux服务器上安装和配置最新版本的Nginx Web服务器并托管静态站点?
简介Nginx [engine x]是免费的开源高性能Web服务器。
它还充当反向代理服务器。
该页面显示了如何在OpenSUSE Linux上安装Nginx服务器以及如何配置静态网站。

如何在OpenSUSE Linux上安装Nginx

在OpenSUSE Linux 15.1/15.2或Tumbleweed版本上安装Nginx Weber服务器的过程如下:

  • 使用zypper或cnf搜索nginx软件包名称:cnf nginxzypper search nginx
  • 在OpenSUSE上使用zypper命令安装nginx软件包:sudo zypper updatesudo zypper install nginx

让我们详细了解OpenSUSE Linux的所有步骤,命令和配置。

搜索nginx包

通过运行以下cnf命令和zypper命令来查找nginx Web服务器在OpenSUSE上是否可用:

$ cnf nginx
$ zypper info nginx

查找有关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 theitroad</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.1.133/24 brd 139.162.28.255 scope global eth0

打开浏览器并输入url:

http://server-ip/
http://192.168.1.133/

配置Nginx服务器

在OpenSUSE Linux上配置Nginx的重要文件和目录:

  • 配置目录/etc/nginx /
  • 主/全局配置文件/etc/nginx/nginx.conf
  • Nginx 80(HTTP),443(HTTPS)打开的默认TCP端口
  • 文档根目录/srv/www/htdocs /
  • 虚拟主机域配置目录dir /etc/nginx/vhosts.d/

要编辑文件,请使用文本编辑器,例如vi:

$ sudo vi /etc/nginx/nginx.conf

您可以将html/css/js和镜像上传或复制到/srv/www/htdocs /:

$ cd /srv/www/htdocs/
$ sudo cp /backups/your-domain/*.html .
$ sudo cp /backups/your-domain/*.css .
$ sudo cp /backups/your-domain/*.png .

或使用rsync命令或sftp命令从本地桌面复制到远程服务器:

$ rsync -avP ~/projects/static/your-domain/* [email protected]:/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

例如,可以如下安装ModSecurity模块:

$ sudo zypper in nginx-module-modsecurity