当前位置 主页 > 服务器问题 > nginx问题汇总 >

    详解Centos7 源码编译安装 Nginx1.13

    栏目:nginx问题汇总 时间:2018-11-20 16:40

    这篇文章主要介绍了详解Centos7 源码编译安装 Nginx1.13,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    关于nginx的相关介绍我就不说了,既然你选择nginx作为你的web服务器,想必你多少也对nginx server有不同认知和理解,接下来我就直接安装。

    1.先决条件:

    我使用的是centos7.3 64位核心版系统,安装配置nginx前必须安装nginx依赖包,请查看;Centos 7编译安装php7.1之生产篇,并安装前文开头所提供的依赖包。此依赖组件包适用于Nginx任意版本。

    新建web用户和组

    $ /usr/sbin/groupadd www$ /usr/sbin/useradd -g www www$ ulimit -SHn 65535 //设置linux高负载参数

    2.从官方下载Nginx以及OpenSSL

    下载Nginx时有两个版本:开发版和稳定版,如果用于生产就下载稳定版本,http://nginx.org/en/download.html (最好下载最新版本的稳定版,这样会有bug修复以及新特性)我下载的是就是目前最新版本nginx-1.13.5。

    $ cd /tmp$ wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz$ tar zxvf openssl-1.1.0e.tar.gz$ wget https://nginx.org/download/nginx-1.13.5.tar.gz$ tar zxvf nginx-1.13.5.tar.gz$ cd nginx-1.13.5

    3.安装Nginx

    你可能会注意到有些文档教程安装nginx的时候,并未指派这么多模块,(看起来好长),有的连模块和用户都没有指派,其实模块是根据自己的需要指派的, 如果想以后不麻烦,那么就按照下面的模块指派就行了,其实这也算是全能的了,不然后期你需要什么还得重新编译进去,不是很麻烦,但也不省事。至于是否指派用户组,我坚决会让你指派,这可关乎nginx配置的可用性和安全稳定。

    $ ./configure \--prefix=/usr/local/nginx \--user=www \--group=www \--with-pcre \--with-openssl=/tmp/openssl-1.1.0e \--with-http_ssl_module \--with-http_v2_module \--with-http_realip_module \--with-http_addition_module \--with-http_sub_module \--with-http_dav_module \--with-http_flv_module \--with-http_mp4_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_random_index_module \--with-http_secure_link_module \--with-http_stub_status_module \--with-http_auth_request_module \--with-http_image_filter_module \--with-http_slice_module \--with-mail \--with-threads \--with-file-aio \--with-stream \--with-mail_ssl_module \--with-stream_ssl_module \
    $ make -j8 && make install //编译并安装

    4.创建 systemctl 系统 Nginx 单元文件

    安装完成后还需要开机自启动,不然每次开机都需要手动,那岂不是太麻烦。

    $ vim /usr/lib/systemd/system/nginx.service[Unit]Description=The nginx HTTP and reverse proxy serverAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStartPre=/usr/local/nginx/sbin/nginx -tExecStart=/usr/local/nginx/sbin/nginxExecReload=/bin/kill -s HUP /usr/local/nginx/logs/nginx.pidExecStop=/bin/kill -s QUIT /usr/local/nginx/logs/nginx.pidPrivateTmp=true[Install]WantedBy=multi-user.target