如何在SUSE Linux Enterprise Server 12上安装Nginx
如何在SuSe Enterprise Linux服务器(SLES)12 SP 3版本上安装和设置Nginx服务器?
Nginx是免费的开源软件。
这是一个非常流行的Web服务器。
您可以替换Apache Web服务器,并使用Nginx托管Apache的静态站点,动态站点和反向代理服务器。
在本教程中我们学习了如何在SUSE Linux Enterprise Server 12.0 SP2或SP3版本上安装Nginx。
步骤1配置Nginx存储库
执行以下zypper命令以为SLES添加zypper存储库:
$ sudo zypper addrepo -G -t yum -c 'http://nginx.org/packages/sles/12' nginx
接下来,您必须验证数字签名以维护下载包的完整性和来源。
使用wget命令获取Nginx签名密钥:
$ wget http://nginx.org/keys/nginx_signing.key
输出示例:
--2016-02-03 23:48:48-- http://nginx.org/keys/nginx_signing.key Resolving nginx.org (nginx.org)... 206.251.255.63, 95.211.80.227, 2001:1af8:4060:a004:21::e3, ... Connecting to nginx.org (nginx.org)|206.251.255.63|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1561 (1.5K) [text/plain] Saving to: ?nginx_signing.key? 100%[==================================================>] 1,561 --.-K/s in 0s 2016-02-03 23:48:49 (117 MB/s) - ?nginx_signing.key? saved [1561/1561]
使用rpm命令将密钥导入rpm:
$ sudo rpm --import nginx_signing.key
步骤2如何在SUSE Linux上安装Nginx
输入以下zypper命令:
$ sudo zypper install nginx
步骤3设置防火墙/打开端口80
首先创建Nginx服务特定的配置文件,以使用文本编辑器(例如vi命令)打开端口80
$ sudo vi /etc/sysconfig/SuSEfirewall2.d/services/nginx
追加以下配置:
## Name: Nginx web server ## Description: Open ports for Nginx Server # space separated list of allowed TCP ports TCP="http"
由于尚未为服务器配置SSL证书,因此只需要允许TCP端口80上的通信即可。
保存并退出vi/vim文本编辑器。
现在,只需运行以下命令以打开端口80:
$ sudo yast firewall
您必须使用TAB和箭头键导航YaST。
在YaST中,导航到"允许的服务",然后按Enter键:使用TAB导航到"允许服务"并按向下箭头键选择" Nginx Web服务器",然后按Enter键。
您必须按Alt-A将Nginx服务器添加到防火墙:按Alt-N和Alt-F保存并完成SLES上的防火墙设置。
返回到shell提示符后,列表列出SLES上的所有iptables规则:
$ sudo iptables -S
输出示例:
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options -A input_ext -p tcp -m tcp --dport 80 -j ACCEPT
结合使用sudo命令和grep命令可以找出端口80是否打开:
sudo sh -c 'iptables -L -n -v | grep :80'
步骤4开启Nginx服务器
执行以下systemctl命令以在引导时启用Nginx:
$ sudo systemctl enable nginx
启动您的Nginx Web服务器:
$ sudo systemctl start nginx
验证一下:
$ systemctl status nginx
端口80是否开放?
运行以下netstat命令或ss命令:
$ sudo netstat -tulpn | grep :80 $ sudo ss -tulpn | grep :80
如何管理Nginx Web服务器/服务过程
停止Nginx Web服务器:
$ sudo systemctl stop nginx
启动Web服务器:
$ sudo systemctl start nginx
再次重新启动服务:
$ sudo systemctl restart nginx
进行配置更改后,重新加载Ngnix:
$ sudo systemctl reload nginx
步骤5测试Nginx服务器
使用ip命令找出您的SLES ip地址:
$ ip a s $ ip a s eth0
输出示例:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:8a:3c:88 brd ff:ff:ff:ff:ff:ff inet 192.168.122.43/24 brd 192.168.122.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe8a:3c88/64 scope link valid_lft forever preferred_lft forever
记下您的服务器IP地址192.168.122.43。
打开浏览器并执行:
http://serve_IP http://your-domain http://192.168.122.43
另一种选择是运行curl命令:
$ curl -I 192.168.122.43
输出示例:
HTTP/1.1 200 OK Server: nginx/1.12.2 Date: Sat, 03 Feb 2016 19:18:53 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 17 Oct 2016 13:30:50 GMT Connection: keep-alive ETag: "59e6060a-264" Accept-Ranges: bytes
步骤6:在SLES上查找有关Nginx配置文件的信息
现在,您已经启动并运行了Nginx。
现在是定制它的时候了。
存储网站内容的实际路径
/usr/share/nginx/html
:您需要在此处存储所有HTML/CSS/js/images文件。
您可以使用scp命令或cp命令上传文件:
$ sudo cp /home/Hyman/mysite-files/*.html /usr/share/nginx/html $ scp ~/projects/theitroad.local/static/*.html [email protected]:/usr/share/nginx/html
SLES的服务器配置文件
/etc/nginx /
:默认的nginx配置目录/etc/nginx/nginx.conf
:主要的Nginx配置文件/etc/nginx/conf.d/default.conf
:虚拟主机的默认nginx配置文件
再次使用文本编辑器编辑文件:
$ sudo vi /etc/nginx/nginx.conf
Nginx服务器登录SLES
/var/log/nginx/access.log
:所有用户访问者存储在此处。/var/log/nginx/error.log
:所有服务器错误都存储在这里。
使用tail命令或grep命令或cat命令查看日志文件:
$ sudo tail -f /var/log/nginx/access.log $ sudo grep 'foo' /var/log/nginx/error.log