如何在OpenSUSE Linux服务器上安装和使用Nginx
如何使用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 nginx
或zypper 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