Centos、Ubuntu、Debain安装Nginx

nginx可以使用各个平台的替换包来安装,此处介绍使用二进制编译安装,包括具体的编译参数信息。

正式开始前,编译环境gcc g ++开发库之类的需要提前装好,这里变成你已经装好。

ububtu平台编译环境可以使用以下指令


apt-get install build-essential
apt-get install libtool

centos 平台编译环境使用如下指令
安装make:


yum -y install gcc automake autoconf libtool make

安装g ++:


yum install gcc gcc-c++

下面正式开始
一般我们都需要先装pcre, zlib,前者为了重写rewrite,并返回gzip压缩。

1、扩展原始目录

可以是任何目录,此处扩展是/usr/local/src


cd /usr/local/src

2、安装PCRE库

http://ftp.pcre.org/pub/pcre/下载最新的PCRE源码包,使用下面的命令下载编译和安装PCRE包:


cd /usr/local/src
wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
tar -zxvf pcre-8.44.tar.gz
cd pcre-8.44
./configure
make
make install

3、安装zlib库

http://zlib.net/zlib-1.2.11.tar.gz下载最新的zlib源码包,使用下面的命令下载编译和安装zlib包:


cd /usr/local/src

wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install

4、安装ssl(某些vps默认没有装ssl)


cd /usr/local/src

wget http://www.openssl.or/source/openssl-1.1.1g.tar.gz
tar -zxvf openssl-1.1.1g.tar.gz
./configure
make
make install

5、安装nginx
Nginx一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择两个版本的其中一个,下面是把Nginx安装到/usr/local/nginx目录下的详细步骤:


cd /usr/local/src

wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

./configure --sbin-path=/usr/local/nginx/nginx 
--conf-path=/usr/local/nginx/nginx.cong 
--pid-path=/usr/local/nginx/nginx.pid 
--with-http_gzip_static_module 
--with-http_stub_static_module 
--with-file-aio 
--with-http_realip_module 
--with-http_ssl_module 
--with-pcre=/usr/local/src/pcre-8.44 
--with-zlib=/usr/local/src/zlib-1.2.11 
--with-openssl=/usr/local/src/openssl-1.1.1g

make -j2
make install

–with-pcre=/usr/local/src/pcre-8.44指的是pcre-8.44的源码路径。

–with-zlib=/usr/local/src/zlib-1.2.11指的是zlib-1.2.11的源码路径。

安装成功后/usr/local/nginx目录下如下:


fastcgi.conf            koi-win             nginx.conf.default
fastcgi.conf.default    logs                scgi_params
fastcgi_params          mime.types          scgi_params.default
fastcgi_params.default  mime.types.default  uwsgi_params
html                    nginx               uwsgi_params.default
koi-utf                 nginx.conf          win-utf

6、启动

确保系统的80没没被其他程序占用,运行/ usr / local / nginx / nginx命令来启动Nginx


netstat -ano|grep 80

如果查不到结果后执行,有结果则忽略此步骤(ubuntu下必须用sudo启动,不然只能在前台运行)


sudo /usr/local/nginx/nginx

:浏览器访问此机器的IP,如果浏览器出现欢迎使用nginx!则表示Nginx已经安装并运行成功。

到这里nginx就安装完成了,如果只是处理静态html就不用继续安装了

如果您需要处理php脚本的话,还需要安装php-fpm。

下面安装排错

附:可能遇到的错误和一些帮助信息

1.1编译pcre错误


libtool: compile: unrecognized option `-DHAVE_CONFIG_H'
libtool: compile: Try `libtool --help' for more information.
make[1]: *** [pcrecpp.lo] Error 1
make[1]: Leaving directory `/usr/local/src/pcre-8.34'
make: *** [all] Error 2

解决方法:安装g ++,别忘了重新配置


apt-get install g++
apt-get install build-essential
make clean
./configure
make

1.2使出错


make: *** No rule to make target `build', needed by `default'.  Stop.
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl= option.

按照第4步的安装方法或
ubuntu下


apt-get install openssl
apt-get install libssl-dev

centos下


yum -y install openssl oepnssl-devel

2.nginx编译选项
make是用来编译的,它从Makefile中读取指令,然后编译。

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,但它会检测到你不是不是CC或GCC,不一定需要CC或GCC,它是一个shell脚本,执行结束时,它会创建一个Makefile文件。nginx的配置命令支持以下参数:


--prefix=path
定义一个目录,存放服务器上的文件,也就是nginx的安装目录。可以使用
/usr/local/nginx

--sbin-path=path
设置nginx的重置文件的路径,替换为
prefix/sbin/nginx

--conf-path=path
nginx允许使用不同的配置文件启动,通过命令行中的-c选项。设置为
prefix/conf/nginx.conf

--pid-path=path
设置
nginx.pid
文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在
nginx.conf
配置文件中使用
PID
指令。默认情况下,文件名 为
prefix/logs/nginx.pid

--error-log-path=path
设置主错误,警告,和诊断文件的名称。安装完成后,可以随时更改的文件名,在
nginx.conf
配置文件中使用的
error_log
指令。或者情况下,文件名为
prefix/logs/error.log

--http-log-path=path
安装完成后,可以随时更改的文件名,在
nginx.conf
配置文件中使用的
access_log
指令。或者在情况下,文件名为
prefix/logs/access.log

--user=name
设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中使用的用户指令。否则的用户名是nobody。–group=name 设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中使用的用户指令。设置为非特权用户。
--with-select_module

--without-select_module
启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
--with-poll_module

--without-poll_module
该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/ dev / poll。
--without-http_gzip_module
—不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。
--without-http_rewrite_module
不编译重构模块。编译并运行此模块需要PCRE库支持。
--without-http_proxy_module
—不编译http_proxy模块。
--with-http_ssl_module
—使用https协议模块。有时情况下,该模块没有被编译。建立并运行此模块的OpenSSL库是必需的。
--with-pcre=path
—设置PCRE库的源码路径。PCRE库的源码(版本4.4-8.30)需要从PCRE网站下载并解压缩。其余的工作是Nginx的。/configure和make来完成。中。
--with-pcre-jit
—编译PCRE包含“即时编译”(1.1.12中,pcre_jit指令)。
--with-zlib=path
—设置的zlib库的内核路径。要下载从zlib(版本1.1.3-1.2.5)的并解压。其余的工作是Nginx的。/configure和make完成。ngx_http_gzip_module模块需要使用zlib。
--with-cc-opt=parameters
例如,当您在FreeBSD上使用PCRE库时需要使用:
--with-cc-opt="-I /usr/local/include
。。如需要需要增加
select()支持的文件数量

--with-cc-opt="-D FD_SETSIZE=2048"
.
--with-ld-opt=parameters
—设置附加的参数,将用于链接期间。例如,当在FreeBSD下使用该系统的PCRE库时,应指定:
--with-ld-opt="-L /usr/local/lib"
.

典型事例(以下为了展示需要写在多行,执行时内容需要在同一行)


./configure
    --sbin-path=/usr/local/nginx/nginx
    --conf-path=/usr/local/nginx/nginx.conf
    --pid-path=/usr/local/nginx/nginx.pid
    --with-http_ssl_module
    --with-pcre=../pcre-4.4
    --with-zlib=../zlib-1.1.3
© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
禅杖先生的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容