openSUSE 下 nginx 的安装配置

本文介绍一下在 openSUSE 下如何安装 nginx ,以及对 nginx 作一些简单的配置。html

安装环境:
openSUSE Leap 42.2linux


安装步骤

1. 添加软件源

安装 nginx 有几种方式,包括源码编译安装,或者直接经过添加软件源,进行在线安装等方式。后者要简单方便一些,由于它能自动解决依赖关系,而且方便咱们升级维护。nginx

打开 nginx 的官网下载地址 地址在此 ,能够看到 nginx 为不一样的 linux 发行版都添加了软件源信息,咱们使用的是 openSUSE 系统,所以可使用 SLES相关的软件源:web

clipboard.png

进入到 linux系统中,执行上述命令,添加软件源。浏览器

2. 使用 YaST2 工具进行安装

打开 系统-->添加/移除软件:服务器

clipboard.png

而后搜索 nginxapp

clipboard.png

能够看到,第一个就是从刚才添加的软件源中读取到的软件信息,勾选,点击右下角的接受,进行安装。
安装完毕后 YaST2会自动退出。tcp


nginx 经常使用命令

1. 启动 nginx

启动 nginx 直接执行nginx命令便可:工具

nginx

1.1 加载指定的配置文件ui

nginx 启动时会默认加载 /etc/nginx/nginx.cnf 下的配置文件进行启动,若是你想加载其余的配置文件,可使用 -c 指令:

nginx -c /etc/nginx/nginx.conf

1.2 找出默认的配置位置

若是你不知道默认的配置文件在什么地方,可使用 -t 指令, -t 指令用于分析检测配置文件的语法,而且会打印配置文件的位置:

clipboard.png

2. 查看 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未成功启动。


3. 中止 nginx

nginx 中止有两种方式:快速中止平滑中止

  • nginx -s stop :快速中止

  • nginx -s quit :平滑中止

平滑中止会等待全部的工做进程处理完全部的请求后,再进行中止,不是强制中止。


4. 重载配置文件

nginx 支持配置文件的热修改,无需重启服务也可从新加载配置文件,使用命令:

nginx -s reload

主进程接收到上述指令后,首先会检查配置文件的语法是否正确,确认无误后,会开启新的工做进程,而后向旧的工做进程发送关闭的指令,旧的工做进程收到指令后,并不是当即中止,而是处理完当前的请求后再自行中止。经过这个步骤,来完成对配置文件的从新载入。

5. 查看 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 试一下:

clipboard.png


配置一个虚拟站点

由于nginx.conf 中 已包含了conf.d/ 目录下的全部配置文件( include /etc/nginx/conf.d/*.conf;),所以咱们能够拷贝一份default.conf ,随便命名为site1.conf,修改里面的端口和根目录便可。别忘了 从新加载配置文件和在根目录下放置一个idnex.html文件,否则可能会发生403拒绝访问,出现403还有一个缘由,就是权限问题,修改一下根目录的权限,把他赋给nginx便可。

好比配置一个88的端口:

clipboard.png

相关文章
相关标签/搜索