centos7 nginx安装与开机自启动
Posted 刀鋒偏冷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 nginx安装与开机自启动相关的知识,希望对你有一定的参考价值。
Nginx简介(https://zh.wikipedia.org/zh-cn/Nginx)
Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。该软件由俄罗斯程序员[伊戈尔·赛索耶夫]开发并于2004年首次公开发布。2011年成立同名公司以提供支持服务。2019年3月11日,Nginx公司被F5网络公司以6.7亿美元收购。
Nginx是免费的开源软件,根据类BSD许可证的条款发布。一大部分Web服务器使用Nginx,通常作为负载均衡器。
可大量并行处理
Nginx在官方测试的结果中,能够支持五万个并行连接,而在实际的运作中,可以支持二万至四万个并行连接。
与Apache相比
Nginx的编写有一个明确目标就是超越Apache Web服务器的性能。Nginx提供开箱即用的静态文件,使用的内存比Apache少得多,每秒可以处理大约四倍于Apache的请求。 在低并发下Nginx的性能与Apache相当(有时候还低于),但是在高并发下Nginx能保持低资源低消耗高性能。Nginx的优点还包括:高度模块化的设计,模块编写简单,以及配置文件简洁。
这种性能提升的代价是降低了灵活性,例如能够以每个文件为基础覆盖系统范围的访问设置(Apache使用.htaccess文件来完成这个工作,而Nginx并没有内置这样的功能)。以前,向Nginx添加第三方模块需要使用静态链接的模块从源代码重新编译应用程序。在版本 1.9.11 中部分地克服了这一点,增加了动态模块加载。但是,模块仍然必须与Nginx同时编译,而不是所有的模块都与这个系统兼容——有些需要更老的静态链接过程。
相比起在Linux下的Nginx,在Windows Server下的Nginx的稳定性较差,而Apache对两者都有较好的支持。
1.环境准备
- centos7 mini
- yum
- nginx
- 离线源/互联网
1.1必备环境安装
yum -y --noplugins install wget zip
yum -y --noplugins install unzip
yum -y --noplugins install gcc
yum -y --noplugins install make
1.2安装环境
1.2.1.安装gcc环境
yum install gcc-c++
1.2.2.PERE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,pcre-devel是使用pcre开发的一个二次开发库。
yum install -y pcre pcre-devel
1.2.3.zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
1.2.4.openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
2. 安装nginx
2.1 下载和解压
链接:https://pan.baidu.com/s/1_kPDQTV3lXCKYdus1UI02A?pwd=uz65
提取码:uz65
也可以去官网下载 https://nginx.org/en/
选择stable版本,nginx-1.22.1
cd /usr/local
上传 nginx-1.22.1.tar.gz
解压
tar -xf nginx-1.22.1.tar.gz
2.2 编译
2.2.1 设定配置
进入目录查看配置选项含义
cd nginx-1.22.1
./configure --help
这里选择如下配置:
./configure \\
--prefix=/usr/local/nginx \\
--pid-path=/var/run/nginx/nginx.pid \\
--lock-path=/var/lock/nginx.lock \\
--error-log-path=/var/log/nginx/error.log \\
--http-log-path=/var/log/nginx/access.log \\
--with-http_gzip_static_module \\
--http-client-body-temp-path=/var/temp/nginx/client \\
--http-proxy-temp-path=/var/temp/nginx/proxy \\
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \\
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \\
--http-scgi-temp-path=/var/temp/nginx/scgi \\
--with-http_stub_status_module \\
--with-http_ssl_module \\
--with-file-aio \\
--with-http_realip_module
创建临时目录
mkdir -p /var/temp/nginx
2.2.2 编译
在nginx-1.22.1目录下,执行make
make
2.2.2 安装
在nginx-1.22.1目录下,执行make install
make install
进入安装目录查看:
ll /usr/local/nginx
其中html是里面首页html文件。conf里面是配置文件。sbin里面只执行文件。
3. 启动nginx
进入sbin,执行命令:./nginx
cd /usr/local/nginx/sbin
./nginx
查看nginx是否启动
ps -aux | grep nginx
4. 配置环境变量
编辑/etc/profile:
vi /etc/profile
新增nginx的路径
export PATH=$PATH:/usr/local/nginx/sbin
生效文件
source /etc/profile
5. 加入system开机自启动
执行命令:
vi /usr/lib/systemd/system/nginx.service
输入内容:
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
重启测试
systemctl daemon-reload
systemctl start nginx
参考
1.Nginx-维基百科
2.nginx安装
centos7案例实战——nginx服务安装及开机自启动
前言
在前面的博客内容中我们已经详细介绍了关于nginx的编译、安装及启动,本节内容是关于nginx服务的安装及开机自启动的实践,通过配置nginx的服务进程,将nginx安装成为一个服务,通过服务的方式实现nginx的管理,并将nginx服务设置为开机自启动,便于nginx的使用。关于nginx的安装请参考往期博客:(一)centos7案例实战——nginx服务器搭建详解_北溟溟的博客-CSDN博客
正文
- 进入系统服务目录/usr/lib/systemd/system,使用vi编辑器创建一个nginx.service服务文件
①服务文件内容如下:其中/opt/nginx/sbin/nginx是nginx启动命令的位置
[Unit] Description=nginx - web server After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/opt/nginx/logs/nginx.pid ExecStartPre=/opt/nginx/sbin/nginx -t -c /opt/nginx/conf/nginx.conf ExecStart=/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf ExecReload=/opt/nginx/sbin/nginx -s reload ExecStop=/opt/nginx/sbin/nginx -s stop ExecQuit=/opt/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
②在系统服务目录/usr/lib/systemd/system下安装 nginx服务
- 重新加载系统服务使nginx服务生效
命令:systemctl daemon-reload
-
启动nginx服务
#启动命令
systemctl start nginx
- 重新加载nginx服务
systemctl reload nginx
- 关闭nginx服务
systemctl stop nginx
- 将nginx服务设置为开机自启动
#将nginx服务设置为开机自启动
systemctl enable nginx
#关闭nginx服务开机自启动
systemctl disable nginx
结语
关于nginx服务安装及开机自启动的内容到这里就结束了,我们下期见。。。
以上是关于centos7 nginx安装与开机自启动的主要内容,如果未能解决你的问题,请参考以下文章