一 . 系统准备
1. 安装基础组件(root用户)
yum install -y pcre pcre-devel gcc gcc-c++ automake autoconf libtool make
2. 创建用户
groupadd nginx
useradd -s /bin/bash -d /sunline/nginx -g nginx nginx
passwd nginx
3. 切换到新建的用户
su nginx
二. 开始安装
2.1 下载 nginx
wget http://nginx.org/download/nginx-1.10.3.tar.gz
2.2 解压nginx
tar -zxvf nginx-1.10.3.tar.gz
2.3 创建临时目录
mkdir -p /sunline/nginx/nginx/data/lock
mkdir -p /sunline/nginx/nginx/data/temp/proxy
mkdir -p /sunline/nginx/nginx/data/temp/client
mkdir -p /sunline/nginx/nginx/data/temp/uwsgi
mkdir -p /sunline/nginx/nginx/data/temp/scgi
mkdir -p /sunline/nginx/nginx/data/temp/fastcgi
mkdir -p /sunline/nginx/nginx/data/log
2.4 使用configure
命令创建一个 makeFile文件
./configure \
--prefix=/sunline/nginx/nginx \
--pid-path=/sunline/nginx/nginx/nginx.pid \
--lock-path=/sunline/nginx/nginx/data/lock/nginx.lock \
--error-log-path=/sunline/nginx/nginx/data/log/error.log \
--http-log-path=/sunline/nginx/nginx/data/log/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/sunline/nginx/nginx/data/temp/client \
--http-proxy-temp-path=/sunline/nginx/nginx/data/temp/proxy \
--http-fastcgi-temp-path=/sunline/nginx/nginx/data/temp/fastcgi \
--http-uwsgi-temp-path=/sunline/nginx/nginx/data/temp/uwsgi \
--http-scgi-temp-path=/sunline/nginx/nginx/data/temp/scgi \
--with-http_stub_status_module
2.5 编译并安装
make & make install
三. 安装验证
3.1 启动
[nginx@localhost sbin]$ ./nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
我们会发现,可能会报错. 这个错误是因为linux下默认非root用户不允许使用1000以下的端口
vim /sunline/nginx/nginx/conf/nginx.conf
将80修改为其他端口,这里我改成了8888
3.2 重新启动
[nginx@localhost sbin]$ ./nginx
3.3 检测一下
[nginx@localhost sbin]$ netstat -ntlp
(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:8888 0.0.0.0:* LISTEN 16000/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
[nginx@localhost sbin]$
到目前为止,我们可以看到8888端口已经启动了
四. 安装附录
特殊情况,如果系统环境准备不可用,需要用下面方式指定一些内容
我们必须要的组件包
-rw-rw-r-- 1 nginx nginx 911509 5月 7 2018 nginx-1.10.3.tar.gz
-rw-rw-r-- 1 nginx nginx 5365054 5月 7 2018 openssl-1.0.2l.tar.gz
-rw-rw-r-- 1 nginx nginx 2065161 5月 7 2018 pcre-8.40.tar.gz
-rw-rw-r-- 1 nginx nginx 16933974 7月 29 18:09 perl-5.16.2.tar.gz
-rw-rw-r-- 1 nginx nginx 560351 5月 7 2018 zlib-1.2.7.tar.gz
4.1 安装pcre
tar -zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure --prefix=/sunline/nginx/nginx/pcre-8.39
make & make install
4.2 安装zlib
tar -zxvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
./configure --prefix=/sunline/nginx/nginx/zlib-1.2.7
make & make install
以此类推 …
4.3 构建makeFile文件
./configure \
--prefix=/sunline/nginx/nginx \
--pid-path=/sunline/nginx/nginx/nginx.pid \
--lock-path=/sunline/nginx/nginx/data/lock/nginx.lock \
--error-log-path=/sunline/nginx/nginx/data/log/error.log \
--http-log-path=/sunline/nginx/nginx/data/log/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/sunline/nginx/nginx/data/temp/client \
--http-proxy-temp-path=/sunline/nginx/nginx/data/temp/proxy \
--http-fastcgi-temp-path=/sunline/nginx/nginx/data/temp/fastcgi \
--http-uwsgi-temp-path=/sunline/nginx/nginx/data/temp/uwsgi \
--http-scgi-temp-path=/sunline/nginx/nginx/data/temp/scgi \
--with-pcre=/sunline/nginx/nginx/pcre-8.39 \
--with-zlib=/sunline/nginx/nginx/zlib-1.2.7 \
--with-http_stub_status_module \
4.4 编译,并安装
make && make install