本文介绍一下在 openSUSE
下如何安装 nginx
,以及对 nginx
作一些简单的配置。html
安装环境:
openSUSE Leap 42.2linux
安装 nginx
有几种方式,包括源码编译安装,或者直接经过添加软件源,进行在线安装等方式。后者要简单方便一些,由于它能自动解决依赖关系,而且方便咱们升级维护。nginx
打开 nginx
的官网下载地址 地址在此 ,能够看到 nginx
为不一样的 linux
发行版都添加了软件源信息,咱们使用的是 openSUSE
系统,所以可使用 SLES
相关的软件源:web
进入到 linux
系统中,执行上述命令,添加软件源。浏览器
YaST2
工具进行安装打开 系统-->添加/移除软件:服务器
而后搜索 nginx
:app
能够看到,第一个就是从刚才添加的软件源中读取到的软件信息,勾选,点击右下角的接受,进行安装。
安装完毕后 YaST2
会自动退出。tcp
nginx
经常使用命令nginx
启动 nginx
直接执行nginx
命令便可:工具
nginx
1.1 加载指定的配置文件ui
nginx
启动时会默认加载 /etc/nginx/nginx.cnf
下的配置文件进行启动,若是你想加载其余的配置文件,可使用 -c
指令:
nginx -c /etc/nginx/nginx.conf
1.2 找出默认的配置位置
若是你不知道默认的配置文件在什么地方,可使用 -t
指令, -t
指令用于分析检测配置文件的语法,而且会打印配置文件的位置:
nginx
的运行状态ps -ef|grep nginx
信息以下:
linux-2wl8:~ # ps -ef|grep nginx root 10132 1 0 16:58 ? 00:00:00 nginx: master process nginx root 10133 10132 0 16:58 ? 00:00:00 nginx: worker process root 10134 10132 0 16:58 ? 00:00:00 nginx: worker process root 10136 10132 0 16:58 ? 00:00:00 nginx: worker process root 10137 10132 0 16:58 ? 00:00:00 nginx: worker process root 10140 8912 0 16:59 pts/0 00:00:00 grep --color=auto nginx
能够看到,nginx
已经成功启动,包含一个主进程(master process)
和几个工做进程(work process)
。
若是没显示上述进程信息,表示 nginx
未成功启动。
nginx
nginx
中止有两种方式:快速中止和平滑中止
nginx -s stop
:快速中止
nginx -s quit
:平滑中止
平滑中止会等待全部的工做进程处理完全部的请求后,再进行中止,不是强制中止。
nginx
支持配置文件的热修改,无需重启服务也可从新加载配置文件,使用命令:
nginx -s reload
主进程接收到上述指令后,首先会检查配置文件的语法是否正确,确认无误后,会开启新的工做进程,而后向旧的工做进程发送关闭的指令,旧的工做进程收到指令后,并不是当即中止,而是处理完当前的请求后再自行中止。经过这个步骤,来完成对配置文件的从新载入。
nginx
的版本:经过 -v
来查看版本信息:
nginx -v
nginx
配置文件经过 YaST
安装后,配置文件的默认位置为 /etc/nginx/nginx.conf
.
下面是一些常见的配置信息。
# 定义用户组和用户 user root root; # 进程数,建议为CPU核心数 worker_processes 4; # error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; # 工做模式与链接数上限 events { worker_connections 1024; } #设定http服务器 http { include /etc/nginx/mime.types; #文件扩展名与文件类型映射表 default_type application/octet-stream;#默认文件类型 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; # 把其余的配置信息包含进来 include /etc/nginx/conf.d/*.conf; }
openSUSE
中 默认的根目录在 usr/share/nginx
下,假如咱们想放在/home/web
目录下。
打开配置文件 nginx.conf
,在http
节点下 有这么一句话 include /etc/nginx/conf.d/*.conf;
打开 conf.d/
目录,发现有一个 default.conf
文件,在该文件中配置了server
节点。
server
节点中root
表示根目录存放的位置,listen
表示要监听的端口,server_name
表示主机名。
此时把root
节点内容修改成 /home/web
便可,并在 /home/web
目录下放置一个 index.html
.
而后执行 nginx -s reload
从新加载配置文件。在浏览器中访问 localhost
试一下:
由于nginx.conf
中 已包含了conf.d/
目录下的全部配置文件( include /etc/nginx/conf.d/*.conf;
),所以咱们能够拷贝一份default.conf
,随便命名为site1.conf
,修改里面的端口和根目录便可。别忘了 从新加载配置文件和在根目录下放置一个idnex.html
文件,否则可能会发生403
拒绝访问,出现403
还有一个缘由,就是权限问题,修改一下根目录的权限,把他赋给nginx
便可。
好比配置一个88
的端口: