普通用户安装Nginx

一、安装前准备

安装包获取

Nginx网站http://nginx.org 下载软件版本包

目前主流版本为nginx-1.13.3   稳定版本为nginx-1.12.1,这里使用稳定版nginx-1.12.1 为例

1、安装pcre软件包

安装pcre库是为使Nginx支持HTTP rewrite模块

在Linux系统中查看pcre软件包是否已经安装,如果没有请事先安装好,在光盘里面可以使用rpm -ivh 安装

[[email protected] tmp]# rpm -qa | grep pcre

pcre-7.8-7.el6.x86_64

错误提示:./configure: error: the HTTP rewrite module requires the PCRE library.

You can either disable the module by using --without-http_rewrite_module

option, or install the PCRE library into the system, or build the PCRE library

statically from the source with nginx by using --with-pcre=<path> option.

解决办法:

yum -y install  pcre-devel-7.8-6.el6.x86_64

2、安装openssl-devel软件包

错误提示:./configure: error: the HTTP cache module requires md5 functions

from OpenSSL library.   You can either disable the module by using

--without-http-cache option, or install the OpenSSL library into the system,

or build the OpenSSL library statically from the source with nginx by using

--with-http_ssl_module --with-openssl=<path> options.

解决办法:

yum  -y install openssl openssl-devel

3、创建应用Nginx软件的应用用户

lvcreate  -L 1G -n lv_iccs apvg

mkfs.ext4 /dev/apvg/lv_iccs

编辑/etc/fstab 里面实现自动挂载

4、创建应用用户

useradd  -u 601 -d /home/iccs iccs

chown iccs:iccs -R /home/iccs

5、解压软件包并赋权给应用用户

tar -xvf nginx-1.12.1.tar.gz

chown iccs:iccs -R /tmp/nginx-1.12.1

二、安装Nginx软件

1、使用configure 命令可以检测软件的安装环境,并生成Makefile文件

su - iccs

cd /tmp/nginx-1.12.1

./configure\

> --user=iccs \

> --group=iccs \

> --prefix=/home/iccs \

> --sbin-path=/home/iccs/sbin/nginx \

> --conf-path=/home/iccs/conf/nginx.conf \

> --error-log-path=/home/iccs/log/error.log \

> --http-log-path=/home/iccs/log/access.log \

> --http-client-body-temp-path=/home/iccs/tmp/client_body \

> --http-proxy-temp-path=/home/iccs/tmp/proxy \

> --http-fastcgi-temp-path=/home/iccs/tmp/fastcgi \

> --pid-path=/home/iccs/var/run/nginx.pid \

> --lock-path=/home/iccs/var/lock/subsys/nginx \

> --with-http_stub_status_module \

> --with-http_ssl_module \

> --with-http_gzip_static_module

备注:

configure 选项                                    【选项含义】

--user                                             指定启动程序所属用户

--group                                             指定启动程序所属组

--prefix                                               指定nginx安装路径

--sbin-path                                     设置nginx二进制文件的路径

--conf-path                                     指定配置文件的路径

--error-log-path                             指定错误日志文件路径

--http-log-path                             指定访问日志文件路径

--http-client-body-temp-path    设置存储HTTP客户端请求主体的临时文件路径

--http-proxy-temp-path                     设置存储HTTP代理临时文件的路径

--pid-path                                     设置nginx.pid文件路径

--lock-path                                     设置nginx.lock 文件路径

--with-openssl                             启用SSL

--with-pcre                                     启用正规表达式

--with-http_stub_status_module       安装可以监控nginx状态的模块

--with-http_ssl_module                     启用SSL支持

--with-http_gzip_static_module     启用gzip压缩

2、开始安装

[[email protected] nginx-1.12.1]$ make

[[email protected] nginx-1.12.1]$ make install

三、启动Nginx

[[email protected] sbin]$ ./nginx

nginx: [emerg] mkdir() "/home/iccs/tmp/client_body" failed (2: No such file or directory)

nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

备注:这里启动的时候遇到两个错误

1、因为在目录下面没有找到tmp目录,所以无法写入缓存文件

2、因为我们是应用用户安装并且启动的,在Linux系统下普通用户是不能使用1024以下端口的,而Nginx默认是80端口,所以需要修改/home/iccs/conf/nginx.conf配置文件将端口改为1024以上,我这里改为了1983

3、如果你是root安装的话,在启动nginx之前,也一定要确保停止其它web服务如Apache等服务冲突防止端口

5、查看nginx进程和端口, 和之前配置文件worker process 一共8个,和配置文件中一样

这里我在修改端口的时候将worker process改为了5 默认为1,如下结果可以看出我们已经启动成功了

[[email protected] conf]$ netstat  -lntp

(Not all processes could be identified, non-owned process info

will not be shown, you would have to be root to see it all.)

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name

tcp        0      0 0.0.0.0:1983                0.0.0.0:*                   LISTEN      8439/nginx

tcp        0      0 0.0.0.0:42603               0.0.0.0:*                   LISTEN      -

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -

[[email protected] sbin]$ ps -ef | grep nginx

iccs      8503     1  0 16:02 ?          00:00:00 nginx: master process ./nginx

iccs      8504  8503  0 16:02 ?        00:00:00 nginx: worker process

iccs      8505  8503  0 16:02 ?        00:00:00 nginx: worker process

iccs      8506  8503  0 16:02 ?        00:00:00 nginx: worker process

iccs      8507  8503  0 16:02 ?        00:00:00 nginx: worker process

iccs      8508  8503  0 16:02 ?        00:00:00 nginx: worker process

6、Nginx 启动常用选项

Nginx       [选项]

-p          <前缀> 设置前缀路径,默认为/opt/nginx

-c          <文件名> 设置配置文件,默认为/etc/nginx/nginx.conf

-v        显示版本信息并退出

-V        显示版本信息和配置选项,然后退出

-t        测试配置时候正确,并退出

-q        配置测试过程中抑制非错误信息

-s          <信号> 将stop、quit、reopen、reload等信号发送给nginx主进程

直接启动服务执行 /home/iccs/sbin/nginx

为了方便加入一下应用用户的环境变量

vim /home/icccs/.bash_profile 将命令路径变成如下

PATH=$PATH:$HOME/bin:$HOME/sbin

时间: 2024-11-05 21:39:25

普通用户安装Nginx的相关文章

linux非root用户安装nginx

先到官网http://nginx.org/en/download.html下载最新稳定版源码包,目前是1.16.1: 下完后通过rz上传至wlf用户soft目录下,退回上一级目录解压: $ cd soft $ rz -y rz waiting to receive. 开始 zmodem 传输. 按 Ctrl+C 取消. 100% 1008 KB 1008 KB/s 00:00:01 0 Errors $ cd .. $ tar xzvf soft/nginx-1.16.1.tar.gz 开始编译

编译安装Nginx

############## 安装OpenSSL ######################wget https://www.openssl.org/source/openssl-1.0.2l.tar.gztar zxvf openssl-1.0.2l.tar.gzcd openssl-1.0.2l/./config --prefix=/opt/local/openssl :make && sudo make install ################ 安装PCRE #######

centos7编译安装nginx

linux及nginx版本 CentOS Linux release 7.2.1511 nginx-1.11.9 第一步安装依赖包 [[email protected] ~]# yum -y install pcre pcre-devel gcc openssl openssl-devel 第二步创建nginx用户 [[email protected] ~]# useradd nginx -s /sbin/nologin -M 第三部进入下载的nginx目录下编译 [[email protect

安装nginx 配置虚拟主机

nginx安装 #查看操作系统版本 [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) #查看内核版本和64位还是32位 [[email protected] ~]# uname -a Linux master1 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Li

源码安装Nginx及配置文件详解

一.安装Nginx 二.Nginx编译选项 三.Nginx进程管理命令 四.Nginx配置文件解析 一.安装Nginx 1.提前安装所需软件依赖包 yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel perl perl-ExtUtils-Embed 2.下载Nginx源码安装包 wget http://nginx.org/download/nginx-1.4.0.tar.gz 3.解压编译(禁用模块使用参数--

【Nginx官方文档翻译】1、安装Nginx

Installing nginx(安装nginx) nginx在不同的操作系统上安装的方式是不同的. 安装在 Linux上 对于要安装在Linux上的用户,可以使用http://www.nginx.org上的安装包记进行安装. 安装在 FreeBSD On FreeBSD, nginx can be installed either from the packages or through the ports system. The ports system provides greater f

用普通用户运行nginx(安全优化)

一般情况下,我们在编译安装的时候会创建指定nginx来运行程序,但是nginx启动后它的master进程还是root,为了安全起见,我们要修改它的主进程,改为普通用户. 注意:普通进程就使用普通用户管理就可以,不要任何程序都使用root,一但出问题,很难搞! 检查:ps -ef 1.先创建一个普通用户: useradd nginx-soft 2.要想使用普通用户运行nginx 必须要将端口80更改,大于1024,此处使用8000: listen       8000; index路径修改: 日志

如何在CentOS 6上通过YUM安装Nginx和PHP-FPM(转)

准备篇: 1.配置防火墙,开启80端口.3306端口       vi /etc/sysconfig/iptables       -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)       -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)特别提示:很多网友把这两条规则添加到防

傻瓜式安装nginx以及负载均衡配置

概述 需求 做了一个对内的http api应用.由于只有一台服务器,考虑到升级问题(即升级时会造成几秒钟用户访问不了),决定搭一个nginx,公共端口:9999,部署2套应用,端口:9981,9982.这样我升级时,先升级端口9981端口的应用,待用户可以访问后,再升级9982的应用,达到不中断访问的目的. 流程 搭建 安装依赖包 yum -y install make gcc gcc-c++ ncurses-devel #编译环境 yum -y install zlib zlib-devel