linux安装nginx

linux安装nginx

gcc安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

pcre pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

OpenSSL 安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

下载安装包

直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html

使用wget命令下载(推荐)。

wget -c [https://nginx.org/download/nginx-1.10.1.tar.gz](https://nginx.org/download/nginx-1.10.1.tar.gz)

解压

依然是直接命令:

tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1

配置

使用默认配置

./configure

编译安装

make
make install

查找安装路径

whereis nginx
image.png

启动、停止nginx

cd /usr/local/nginx/sbin/
./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

查询nginx进程

ps aux|grep nginx

重启 nginx

先停止再启动(推荐):

对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:

./nginx -s quit
./nginx

重新加载配置文件:

当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:

./nginx -s reload

开机自启动

即在rc.local增加启动代码就可以了。

vi /etc/rc.local

增加一行 /usr/local/nginx/sbin/nginx
设置执行权限:

chmod 755 rc.local
image.png

nginx就安装完毕了,启动、停止、重启操作也都完成了,当然,你也可以添加为系统服务,我这里就不在演示了。

日志分割

编写自动分割Nginx日志脚本

 #!/bin/bash 
 #Rotate the Nginx logs to prevent a single logfile from consuming too much disk space. 
 LOS_PATH=/usr/local/nginx/logs
 YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) 
 mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log 
 mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log 
 ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件 
 kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

:wq保存,并命名为nginxLogRotate.sh,保存到目录/usr/local/nginx/logs

设置Linux定时任务

vi  /etc/crontab

在打开的文件底部添加如下内容

0 0 * * * root /usr/local/nginx/logs/nginxLogRotate.sh

:wq保存,表示配置一个定时任务,定时每天00:00以root身份执行脚本/usr/local/nginx/logs/nginxLogRotate.sh,实现定时自动分割Nginx日志(包括访问日志和错误日志)

至此,就实现了自动分割Nginx日志,Nginx每天都会生成一个新的日志文件。

Nginx启动脚本

vi /etc/init.d/nginx
chkconfig nginx on

备注:个人博客同步至简书。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容