网站首页 > java教程 正文
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-09-30 技术实践——如何在Ubuntu-16.04上配置Apache Kafka集群!
- 2024-09-30 Ubuntu18.04+Docker+Hadoop+Spark分布式集群搭建
- 2024-09-30 JDK安装部署(jdk安装部署linux)
- 2024-09-30 DevOps-Jenkins-安装(Ubuntu)(ubuntu安装jdk15)
- 2024-09-30 Ubuntu 安装 .bundle 文件(ubuntu budgie安装)
- 2024-09-30 ubuntu安装burpsuite渗透利器(ubuntu安装brctl)
- 2024-09-30 Ubuntu 下 Janus Server 搭建(ubuntu20.04搭建web服务器)
- 2024-09-30 分享使用了15年的开发环境Ubuntu快速配置
- 2024-09-30 Ubuntu 18.04.1 搭建Java环境和HelloWorld
- 2024-09-30 Ubuntu 14.04 PPA安装Java sdk(ubuntu20.04安装教程)
你 发表评论:
欢迎- 最近发表
-
- 五,网络安全IDA Pro反汇编工具初识及逆向工程解密实战
- 「JAVA8」- Lambda 表达式(java lambda表达式原理)
- 深入探讨Java代码保护:虚拟机保护技术的新时代
- Nginx反向代理原理详解(图文全面总结)
- 逆向拆解日本IT,哪些Java技术栈薪资溢价高
- mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比
- Spring Boot集成ProGuard轻松实现Java 代码混淆, Java 应用固若金汤
- 从 Java 代码逆向工程生成 UML 类图和序列图
- 人与人相处:尊重是标配,靠谱是高配,厚道是顶配
- Windows系统安装日期如何修改(windows10怎么修改安装日期)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)