Nginx安装
off999 2025-01-06 14:48 27 浏览 0 评论
nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。
正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。
ububtu平台编译环境可以使用以下指令
1 2 | apt-get install build-essential apt-get install libtool |
centos平台编译环境使用如下指令
安装make:
1 | yum -y install gcc automake autoconf libtool make |
安装g++:
1 | yum install gcc gcc-c++ |
下面正式开始
---------------------------------------------------------------------------
一般我们都需要先安装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
1.选定源码目录
可以是任何目录,本文选定的是/usr/local/src
1 | cd /usr/local/src |
2.安装PCRE库
https://ftp.pcre.org/pub/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:
1 2 3 4 5 6 7 | 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包:
1 2 3 4 5 6 7 8 | 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)
1 2 3 | cd /usr/local/src wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz tar -zxvf openssl-1.1.1g.tar.gz |
5.安装nginx
Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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.conf \ --pid-path=/usr/local/nginx/nginx.pid \ --with-http_gzip_static_module \ --with-http_stub_status_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 目录下如下
1 2 3 4 5 6 | 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,
1 | netstat -ano|grep 80 |
如果查不到结果后执行,有结果则忽略此步骤(ubuntu下必须用sudo启动,不然只能在前台运行)
1 | sudo /usr/local/nginx/nginx |
打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
-----------------------------------------------------
到这里nginx就安装完成了,如果只是处理静态html就不用继续安装了
如果你需要处理php脚本的话,还需要安装php-fpm。
下面安装排错
附:可能遇到的错误和一些帮助信息
1.1编译pcre错误
1 2 3 4 5 | 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++,别忘了重新configure
1 2 3 4 5 | apt-get install g++ apt-get install build-essential make clean ./configure make |
1.2 make出错
1 2 3 4 5 | 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下
1 2 | apt-get install openssl apt-get install libssl-dev |
centos下
1 | yum -y install openssl openssl-devel |
2.nginx编译选项
make是用来编译的,它从Makefile中读取指令,然后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,执行结束时,它会创建一个Makefile文件。nginx的configure命令支持以下参数:
- --prefix=path 定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。
- --sbin-path=path 设置nginx的可执行文件的路径,默认为 prefix/sbin/nginx.
- --conf-path=path 设置在nginx.conf配置文件的路径。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 设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默认情况下,文件名 为prefix/logs/access.log.
- --user=name 设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的用户名是nobody。
- --group=name 设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的为非特权用户。
- --with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
- --with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法。该模块将自动建立,如果平台不支持的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来完成。正则表达式使用在location指令和 ngx_http_rewrite_module 模块中。
- --with-pcre-jit —编译PCRE包含“just-in-time compilation”(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 — 设置额外的参数将被添加到CFLAGS变量。例如,当你在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".
典型实例(下面为了展示需要写在多行,执行时内容需要在同一行)
1 2 3 4 5 6 7 | ./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 |
- 上一篇:Linux 系统安装 Nginx
- 下一篇:CentOS安装nginx
相关推荐
- 免费离线单机斗地主(离线斗地主单机版免费)
-
想下载免流量不花钱斗地主,和麻将单机斗地主介绍:单机斗地主游戏是一款不需要联网的棋牌类手机游戏,此款斗地主最大的亮点是拥有强大的AI以及智能的提示功能。电脑具有很高的人工智能,为玩家提供了强劲的对手,...
- 58动漫(58动漫 官方入门网站)
-
打不开的原因可能有很多种,需要一一排查。首先要检查自己是否连接上了互联网,如果没有,就先联网。其次看一下叔叔有没有攻击。可能动漫网的版本比较低导致无法打开假的,58上面很多招聘工作跟他上线的信息不符合...
- 精准客户电话号码采集软件(精准客户电话号码采集软件下载)
-
是正规平台。JMTOOL是一个采集工具软件。数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术目前广泛应用于各个领域。针对制造业企业的庞大生产数据,数据...
- 暴风影音5播放器手机安卓版下载
-
应该是清理软件或者安全软件禁止了软件的后台运行!下载安装暴风影音的具体方法如下:1、准备一个U盘,在电脑网络上下载暴风影音软件安装包(apk格式),复制并存储到U盘的根目录下。2、将U盘插入电视US...
- cultivate(cultivate用英语怎么说)
-
"Nurture"和"cultivate"是两个动词,都可以用来描述培养、促进或发展某种事物。然而它们的具体用法和涵义稍有不同。"Нurture"...
- 腾讯手机管家电脑版(腾讯手机管家电脑版官方下载)
-
手机管家关闭电脑的方法。首先,打开电脑管家主页面。2.再点击“更多选项”图标。3.然后,点击“设置”。4.选择“手机管理”。5.勾选“不需要提醒”。6.再单击“确定”。7.最后,我们关闭面...
- 腾讯qq最新版下载(腾讯qq下载2019 8.0版)
-
可能是网速问题!或者你先看看你是否已经下载安装了QQ游戏,是不是最新的版本,如果之前没问题的话你不要到QQ页面进QQ游戏,试试从我的电脑中的文件夹中进入,再不行的话或者重新安装下QQ游戏:再不行的话建...
- 樱花校园模拟器中文版下载(樱花校园模拟器 下载)
-
1可以在应用商店搜索“校女园模拟器”下载最新版本。2原因是应用商店会及时更新最新版本,而且下载安装十分方便快捷。3如果在应用商店找不到最新版本,可以在官方网站进行下载,但需要注意安全问题。同时,...
- 单机斗地主 单机版 免费版下载
-
免费的单机斗地主有《欢乐斗地主单机版》联众《单机斗地主》。1,《欢乐斗地主单机版》《欢乐斗地主单机版》是根据欢乐斗地主规则改编的pc电脑单机游戏。这是789游戏中心好玩的斗地主游戏,电脑具有较高的人工...
- 三国志5手机版单机游戏(三国志5手机版单机游戏有哪些)
-
1.提示DirectX的话--下载驱动人生更新驱动重启,保证能玩2.如果不是上面问题试下--右键游戏图标,属性,兼容性,禁用桌面元素钩上就OK了3.发现安装后桌面的启动图标是GameSt...
- 免费的视频app网站入口(免费的视频app网站入口)
-
柠檬影院是个网站,柠檬影视是个软件柠檬影院是一个真正免费看电影电视剧的影视网站,以提供高清影视在线观看,下载,网络休闲等为最终发展目标,致力于给广大的互联网用户带来最丰富影视柠檬影院每日实时更新,每日...
- 光影魔术手手机版下载(光影魔术手手机版下载 app)
-
1、打开光影魔术手软件,点击“打开”。2、选好需要去除文字的图片,插入光影魔术手中。3、然后点击左上角的“数码暗房”按钮。4、在打开的页面中选择“人像”。5、下拉菜单,在“人像”中选择“祛斑”按钮。6...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
16949认证费用是多少(16949审核员太难考了)
-
linux软件(linux软件图标)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
