首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx具有-cc-opt和-ld-opt配置选项

Nginx具有-cc-opt和-ld-opt配置选项
EN

Server Fault用户
提问于 2017-08-21 23:37:38
回答 3查看 9.2K关注 0票数 2

当我运行nginx -V时,输出中会出现类似的情况。

--with-ld-opt='-lrt -ljemalloc -Wl,-z,relro' --with-cc-opt='-m64 -mtune=native -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wno-sign-compare -Wno-string-plus-int -Wno-deprecated-declarations -Wno-unused-parameter -Wno-unused-const-variable -Wno-conditional-uninitialized -Wno-mismatched-tags -Wno-c++11-extensions -Wno-sometimes-uninitialized -Wno-parentheses-equality -Wno-tautological-compare -Wno-self-assign -Wno-deprecated-register -Wno-deprecated -Wno-invalid-source-encoding -Wno-pointer-sign -Wno-parentheses -Wno-enum-conversion'

这是什么,以及如何知道在从源代码编译nginx时需要使用哪些值?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2018-03-27 11:03:47

开箱即用,您可能不需要自己提供任何标志,配置脚本应该自动检测到一些合理的默认值。

但是,为了优化速度和/或安全性,您可能应该提供一些编译器标志。Red发布了关于他们认为不错的标志集合的文章。以-Wl开头的标志由链接器使用,因此您应该使用--with-ld-opt提供这些标志。-Wl,-pie将成为--with-ld-opt="-pie"

另一种合理的方法是复制发行版提供的包所使用的选项。维护人员可能知道他在做什么,而您至少知道它适用于您的用例。

票数 9
EN

Server Fault用户

发布于 2018-03-27 08:25:13

此Nginx选项显示配置选项(设置编译器和链接器所需的配置选项):

代码语言:javascript
复制
-V            : show version and configure options then exit

正如本文档页所述,-> http://nginx.org/en/docs/configure.html

代码语言:javascript
复制
--with-ld-opt=parameters — sets additional parameters that will be used during linking. 
--with-cc-opt=parameters — sets additional parameters that will be added to the CFLAGS variable. 

因此,第一种是您想要添加到链接器(ld)中的内容,第二种是针对编译器(cc、gcc等)。有关这些选项的更多信息,请参阅gcc手册页:https://linux.die.net/man/1/gcc

票数 1
EN

Server Fault用户

发布于 2018-03-31 14:28:33

输入以下命令时:

nginx -V -h

其中:

-V: : show version and configure options then exit

因此,您可以使用各种参数相应地配置您的构建。可以使用配置命令配置生成。

代码语言:javascript
复制
--sbin-path=path — sets the name of an nginx executable file. This name is used only during installation. By default the file is named prefix/sbin/nginx.

--conf-path=path — sets the name of an nginx.conf configuration file. If needs be, nginx can always be started with a different configuration file, by specifying it in the command-line parameter -c file. By default the file is named prefix/conf/nginx.conf.

--pid-path=path — sets the name of an nginx.pid file that will store the process ID of the main process. After installation, the file name can always be changed in the nginx.conf configuration file using the pid directive. By default the file is named prefix/logs/nginx.pid.

--error-log-path=path — sets the name of the primary error, warnings, and diagnostic file. After installation, the file name can always be changed in the nginx.conf configuration file using the error_log directive. By default the file is named prefix/logs/error.log.

--http-log-path=path — sets the name of the primary request log file of the HTTP server. After installation, the file name can always be changed in the nginx.conf configuration file using the access_log directive. By default the file is named prefix/logs/access.log.

--build=name — sets an optional nginx build name.

--user=name — sets the name of an unprivileged user whose credentials will be used by worker processes. After installation, the name can always be changed in the nginx.conf configuration file using the user directive. The default user name is nobody.

--group=name — sets the name of a group whose credentials will be used by worker processes. After installation, the name can always be changed in the nginx.conf configuration file using the user directive. By default, a group name is set to the name of an unprivileged user.

--with-select_module
--without-select_module — enables or disables building a module that allows the server to work with the select() method. This module is built automatically if the platform does not appear to support more appropriate methods such as kqueue, epoll, or /dev/poll.

--with-poll_module
--without-poll_module — enables or disables building a module that allows the server to work with the poll() method. This module is built automatically if the platform does not appear to support more appropriate methods such as kqueue, epoll, or /dev/poll.

--without-http_gzip_module — disables building a module that compresses responses of an HTTP server. The zlib library is required to build and run this module.

--without-http_rewrite_module — disables building a module that allows an HTTP server to redirect requests and change URI of requests. The PCRE library is required to build and run this module.

--without-http_proxy_module — disables building an HTTP server proxying module.

--with-http_ssl_module — enables building a module that adds the HTTPS protocol support to an HTTP server. This module is not built by default. The OpenSSL library is required to build and run this module.

--with-pcre=path — sets the path to the sources of the PCRE library. The library distribution (version 4.4 — 8.41) needs to be downloaded from the PCRE site and extracted. The rest is done by nginx’s ./configure and make. The library is required for regular expressions support in the location directive and for the ngx_http_rewrite_module module.

--with-pcre-jit — builds the PCRE library with “just-in-time compilation” support (1.1.12, the pcre_jit directive).

--with-zlib=path — sets the path to the sources of the zlib library. The library distribution (version 1.1.3 — 1.2.11) needs to be downloaded from the zlib site and extracted. The rest is done by nginx’s ./configure and make. The library is required for the ngx_http_gzip_module module.

--with-cc-opt=parameters — sets additional parameters that will be added to the CFLAGS variable. When using the system PCRE library under FreeBSD, --with-cc-opt="-I /usr/local/include" should be specified. If the number of files supported by select() needs to be increased it can also be specified here such as this: --with-cc-opt="-D FD_SETSIZE=2048".

--with-ld-opt=parameters — sets additional parameters that will be used during linking. When using the system PCRE library under FreeBSD, --with-ld-opt="-L /usr/local/lib" should be specified.`

根据需要进行配置,只要添加-h以获取有关配置中特定参数的信息即可。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/869794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档