记录centos中安装nginx的过程。
准备
安装依赖的包:
1 | yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel |
我们去nginx
的官网看看目前稳定的包是什么,http://nginx.org/en/download.html,目前为止,稳定的包是nginx-1.20.1
,点击会下载当前nginx-1.20.1.tar.gz
。我们下载下来后可以直接通过scp
上传到服务器,这样免得在服务器下载浪费时间。
当然也可以直接在服务器中下载:
1 | wget http://nginx.org/download/nginx-1.20.1.tar.gz |
在服务器中解压缩:
1 | tar -zxvf nginx-1.20.1.tar.gz |
安装
进入解压的目录:
1 | cd nginx-1.20.1 |
配置:
1 | ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre |
安装:
1 | make && make install |
一路跑下来没问题,那么就安装成功了。
nginx相关命令
启动nginx
1 | /usr/local/nginx/sbin/nginx |
停止nginx
1 | /usr/local/nginx/sbin/nginx -s stop |
重新载入配置
1 | /usr/local/nginx/sbin/nginx -s reload |
nginx配置
nginx默认配置文件路径为:/usr/local/nginx/conf/nginx.conf
。
默认的资源路径为:/usr/lcoal/nginx/html
。
设置Systemctl
centos7以上使用systemed
进行系统初始化的。systemd
服务文件以.service
结尾,如果是用yum
安装的nginx,yum命令会自动创建nginx.service
,可以直接使用命令:
1 | systemctl enable nginx.service |
这样就设置为了开机启动。
但是我们用源码安装的方式是没有自动创建nginx.service
文件的,需要手动创建:
1 | vim /lib/systemd/system/nginx.service |
放入内容:
1 | [Unit] |
这里/usr/local/nginx/sbin/nginx
是安装nginx
的路径,注意如果有变更的话这里也要变化。
说明nginx.service
内容的各项参数:
- [Unit] 服务的说明
- Description 描述服务
- After 描述服务类别
- [Service] 服务运行参数的设置
- Type=forking 是后台运行的形式
- ExecStart 服务的具体运行命令
- ExecReload为重启命令
- ExecStop 停止命令
- PrivateTmp=True 表示给服务分配独立的临时空间
- [Install] 运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
设置开机启动
1 | systemctl enable nginx |
停止开机启动
1 | systemctl disable nginx |
启动nginx服务
1 | systemctl start nginx |
重启nginx服务
1 | systemctl restart nginx |
重新加载nginx配置
1 | systemctl reload nginx |
nginx加入到全局环境变量中
上面虽然可以使用systemctl
来控制nginx,但还是很不方便,我们希望可以直接使用nginx来操作。
要想加入到全局变量中,只需要创建个软链即可:
1 | ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ |
这样就可以在任何地方直接使用nginx
命令:
1 | nginx -s reload |
记录