您的位置:首页 > 运维架构 > Nginx

nginx编译安装

2020-07-26 16:14 211 查看
yum install -y vim lrzsz tree screen psmisc lsof tcpdump wget ntpdate
gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel nettools iotop bc zip unzip zlib-devel bash-completion nfs-utils automake libxml2
libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed
cd /usr/local/src/
wget https://nginx.org/download/nginx-1.16.1.tar.gz
tar xf nginx-1.16.1.tar.gz
cd nginx-1.16.1/
./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module
make        #编译步骤,根据Makefile文件生成相应的模块
make install    #创建目录,并将生成的模块和文件复制到相应的目录:
useradd nginx -s /sbin/nologin -u 2000      #以普通用户启动nginx
chown nginx.nginx -R /apps/nginx/

备注:nginx完成安装以后,有四个主要的目录:
conf:该目录中保存了nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件,其他
的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params两个文
件,配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其复制为并将default去掉即可。
html:该目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件是
默认的错误页面提示页面。
logs:该目录用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比
如/var/logs/nginx里面。
sbin:该目录用来保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能。

验证版本及编译参数:

/apps/nginx/sbin/nginx -V

Nginx 1.16.1:

vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/apps/nginx/sbin/nginx -t
ExecStart=/apps/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target

PIDFile=/run/nginx.pid   替换成:PIDFile=/apps/nginx/run/nginx.pid
vim /apps/nginx/conf/nginx.confpid


将下面的这段代码添加到蓝色的代码下面,保存退出

pid /apps/nginx/run/nginx.pid;
mkdir /apps/nginx/run/ -p
systemctl daemon-reload
systemctl start nginx

验证:

systemctl enable nginx
systemctl status nginx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: