Centos7下安装nginx过程总结

来源:互联网 发布:知乎 资产比例 编辑:程序博客网 时间:2024/05/22 05:38

基础环境安装

Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。

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

安装Nginx

安装之前,最好检查一下是否已经安装有nginx
$ find -name nginx

如果系统已经安装了nginx,那么就先卸载
$ yum remove nginx

首先进入/usr/local目录
$ cd /usr/local

从官网下载最新版的nginx
$ wget http://nginx.org/download/nginx-1.13.0.tar.gz

解压nginx压缩包
$ tar -zxvf nginx-1.13.0.tar.gz

会产生一个nginx-1.13.0 目录,更改文件名为nginx,这时进入nginx目录
$ cd nginx

接下来安装,使用–prefix参数指定nginx安装的目录,make、make install安装 /usr/local/nginx ./configure
make make install

如果没有报错,顺利完成后,最好看一下nginx的安装目录
$ whereis nginx
这里写图片描述

安装过程中问题处理记录

我本地测试的时候发现logs日志文件夹没有自动创建,导致脚本执行出错,手工的在nginx目录下创建logs文件夹后,问题得到了解决。
这里写图片描述

nginx常用的指令说明

启动、停止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为开机自启动项

centos7使用systemd代替之前的systemv的启动脚本,可以说更简单。不再需要编写一长段脚本。
复制以下内容到/usr/lib/systemd/system/nginx.service

[Unit]Description=nginx - high performance web serverDocumentation=http://nginx.org/en/docs/After=network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.confExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target

使用systemctl start|stop|reload|restart nginx 进行启动重启等操作。
systemctl enable nginx即可实现开机启动。
systemctl disable nginx取消开机启动

1 0
原创粉丝点击