背景:今天要搭建测试环境,其中需要用到nginx为此做下记录以方便以后使用。
linux有好几种安装nginx方式,yum、doctor都是很方便的方式这里就不作记录了,主要记录本地源码包编译的方式。
我这里用的环境:
- 操作系统:CentOS7
- nginx版本:1.24.0
nginx官网下载: http://nginx.org/en/download.html
开始安装前要确保80端口可用,nginx默认使用的是80端口,如果80端口已经占用启动过程中可能会报错。
开始安装:
- 首先安装一些依赖库:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
- 也可以一个一个安装:
1、编译时依赖gcc环境
yum -y install gcc gcc-c++ autoconf automake make
2、pcre 提供nginx支持重写功能
yum -y install pcre pcre-devel
3、zlib 库提供了很多压缩和解压缩的方式
yum -y install zlib zlib-devel make libtool
4、openssl 安全套接字层密码库,用于通信加密
yum -y install openssl openssl-devel
- 把下载好的nginx-1.24.0.tar.gz包上传到自己指定的服务器文件夹下面
- ** 解压压缩包**
tar -zxvf nginx-1.24.0.tar.gz
- 进入nginx-1.24.0目录执行相关配置
cd nginx-1.24.0
./configure --prefix=/xx/xx/nginx --with-http_stub_status_module --with-http_ssl_module
参数说明:
- –prefix=/xx/xx/nginx 指定安装目录(默认是/usr/local/nginx)
- –with-http_stub_status_module 该模块提供nginx的基本状态信息
- –with-http_ssl_module 支持HTTPS
- 编译、安装
make # 编译
make install # 安装
- 操作
启动服务
/xx/xx/nginx/sbin/nginx
重新加载服务
/xx/xx/nginx/sbin/nginx -s reload
停止服务
/xx/xx/nginx/sbin/nginx -s stop
查看进程
ps -ef | grep nginx
- nginx配置为系统服务
目前nginx是通过命令执行的,实际使用通常需要nginx作为系统的服务运行,以systemctl命令运行服务。
配置服务文件
vim /lib/systemd/system/nginx.service
添加内容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/xx/xx/nginx/sbin/nginx
ExecReload=/xx/xx/nginx/sbin/nginx reload
ExecStop=/xx/xx/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 创建服务
systemctl enable nginx.service
- nginx基本操作
1.启动nginx
systemctl start nginx
2.停止 nginx
systemctl stop nginx
3.重启 nginx
systemctl restart nginx
4.重新加载配置
systemctl reload nginx
5.设置开机启动
systemctl enable nginx
6.关闭开机启动设置
systemctl disable nginx
7.查看nginx状态
systemctl status nginx