网站首页 > 技术教程 正文
nginx官网有一篇文章专门说明怎么源码编译安装nginx,我们最大限度使用里面的参数,让nginx的特性都开起来.
nginx官网的源码编译说明书
如果需要设置路径,那么就需要自己去下载软件,我们可以看到有两个,分别是zlib和Perl.
下载pcre(跟正则表达式相关)
进入pcre官网:
pcre官网
下载最新版pcre
下载最新版pcre
下载zlib
进入官网:
zlib官网
点击上图下载区域中圈红的地方下载软件
解压pcre
tar -jxvf pcre2-10.23.tar.bz2
解压zlib
tar -zxvf zlib-1.2.11.tar.gz
解压zlib
配置nginx源码
配置nginx源码
配置nginx源码报错
./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=<path> option.
下载openssl
openssl官网
解压openssl
tar -zxvf openssl-1.1.0e.tar.gz
再次配置nginx源码
./configure --prefix=path=/usr/local/nginx \
--sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--build=nginx \
--user=nginx \
--group=nginx \
--with-select_module \
--with-poll_module \
--with-http_ssl_module \
--with-pcre=/home/test/Desktop/pcre2-10.23 \
--with-pcre-jit \
--with-zlib=/home/test/Desktop/zlib-1.2.11 \
--with-openssl=/home/test/Desktop/openssl-1.1.0e
配置成功:
配置nginx源码成功
make nginx源码
make
make nginx源码报错:
cd /home/test/Desktop/pcre2-10.23 \
&& make libpcre.la
make[2]: Entering directory '/home/test/Desktop/pcre2-10.23'
make[2]: *** No rule to make target 'libpcre.la'. Stop.
make[2]: Leaving directory '/home/test/Desktop/pcre2-10.23'
objs/Makefile:1226: recipe for target '/home/test/Desktop/pcre2-10.23/.libs/libpcre.a' failed
make[1]: *** [/home/test/Desktop/pcre2-10.23/.libs/libpcre.a] Error 2
make[1]: Leaving directory '/home/test/software/nginx-1.12.0'
Makefile:8: recipe for target 'build' failed
make: *** [build] Error 2
make nginx源码报错的原因和解决方案
不能使用pcre2,必须使用pcre1版本,重新下载pcre,现在下载pcre-8.40.tar.gz:
解压:
tar -zxvf pcre-8.40.tar.gz
重新配置nginx源码
./configure --prefix=path=/usr/local/nginx \
--sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--build=nginx \
--user=nginx \
--group=nginx \
--with-select_module \
--with-poll_module \
--with-http_ssl_module \
--with-pcre=/home/test/Desktop/pcre-8.40 \
--with-pcre-jit \
--with-zlib=/home/test/Desktop/zlib-1.2.11 \
--with-openssl=/home/test/Desktop/openssl-1.1.0e
make nginx源码
make
make成功.
安装 nginx
make install
安装成功
创建nologin用户nginx
sudo useradd -s /usr/sbin/nologin -r -M -d /dev/null nginx
修改启动nginx的用户
nginx用的是80端口,在Linux中1024以下的端口号都需要root权限才能使用.
vim /usr/local/nginx/nginx.conf
启动nginx报错
/usr/local/nginx/nginx
报出如下错误:
2017/05/19 02:35:56 [emerg] 10062#0: mkdir() "path=/usr/local/nginx/client_body_temp" failed (2: No such file or directory)
2017/05/19 02:43:11 [emerg] 10510#0: mkdir() "path=/usr/local/nginx/proxy_temp" failed (2: No such file or directory)
2017/05/19 02:43:54 [emerg] 10528#0: mkdir() "path=/usr/local/nginx/fastcgi_temp" failed (2: No such file or directory)
2017/05/19 02:44:16 [emerg] 10551#0: mkdir() "path=/usr/local/nginx/uwsgi_temp" failed (2: No such file or directory)
2017/05/19 02:45:28 [emerg] 10559#0: mkdir() "path=/usr/local/nginx/scgi_temp" failed (2: No such file or directory)
修改
http {
include 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 logs/access.log main;
client_body_temp_path /usr/local/nginx/client_temp;
proxy_temp_path /usr/local/nginx/proxy_temp;
fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
uwsgi_temp_path /usr/local/nginx/uwsgi_temp;
scgi_temp_path /usr/local/nginx/scgi_temp;
查看nginx是否正常启动
ps -aux|grep nginx
主线程还是root用户启动的,工作线程是使用nginx用户启动
猜你喜欢
- 2024-10-09 Nginx编译安装(nginx编译安装 make)
- 2024-09-09 Nginx学习之简单使用和练习(nginx怎么学)
- 2024-09-09 这套Nginx日志解决方案,真香(nginx日志400)
- 2024-09-09 基于Linux:Nginx安装包的安装与配置详解
- 2024-09-09 一文带你深入浅出读懂Nginx,理论+实战,双管齐下,手把手教会你
- 2024-09-09 跟我学Nginx(三)——Centos8安装Nginx
- 2024-09-09 Nginx 文件压缩!揭秘 nginx-09-compress,提升网站性能的终极秘籍
- 2024-09-09 Nginx源码安装并开启http2.0以及brotli压缩
- 2024-09-09 编译安装Nginx,并使用jemalloc优化内存分配
- 2024-09-09 Nginx简单使用和练习(nginx操作)
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)