Nginx是一款轻量级Web服务器,也是一款反向代理服务器
官网:nginx news 中文文档: Nginx中文文档 下载地址:nginx: download Stable version就是它的稳定版本 |
环境准备
1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。
命令:yum install gcc-c++
2.Nginx的http模块需要使用pcre来解析正则表达式,需要安装pcre。
命令:yum install -y pcre pcre-devel
3.安装依赖的解压包。
命令:yum install -y zlib zlib-devel
4.ssl 功能需要 openssl 库,安装 openssl。
命令:yum install -y openssl openssl-devel
下载Nginx
官网下载:http://nginx.org/en/download.html
这里下载的版本是1.18.0
Nginx官方提供了三个类型的版本: Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版 Stable version:最新稳定版,生产环境上建议使用的版本 Legacy versions:遗留的老版本的稳定版 我们选择Stable version |
或者直接在linux执行命令:wget http://nginx.org/download/nginx-1.18.0.tar.gz
下载完成后,将Nginx压缩包移动到Linux的待安装目录中。我这里是 /usr/local/nginx
删除文件命令:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
解压安装
1.解压Nginx:tar -zxvf nginx-1.18.0.tar.gz (-v: --verbose 详细显示进行的步骤)
解压完成后,同目录下会生成Nginx的文件夹
修改文件夹名称:mv nginx-1.18.0 nginx 将nginx-1.18.0文件夹的名称改为nginx
2.依次执行以下命令:
①进入解压后的文件夹: cd /usr/local/nginx
②配置configure: ./configure --prefix=/usr/local/nginx
③编译: make
④安装: make install
配置nginx.conf
输入命令:vim /usr/local/nginx/conf/nginx.conf
默认端口是80,因为可能会和Apache使用的端口冲突,需要修改的就修改,例如这里可以改为8089;server_name修改为Linux的IP地址就可以。
server {undefined
listen 8089;
server_name 192.168.252.101;
location / {undefined
...
}
...
}
Nginx常用命令
测试配置文件:${Nginx}/sbin/nginx -t 启动命令:${Nginx}/sbin/nginx 停止命令:${Nginx}/sbin/nginx -s stop/quit 重启命令:${Nginx}/sbin/nginx -s reload 查看进程命令:ps -ef | grep nginx 平滑重启:kill -HUP [Nginx主进程号(即ps命令查到的PID)] ./nginx -t # 验证配置文件是否能正常启动 ./nginx #启动nginx ./nginx -s quit #正常停止 ./nginx -s stop #快速停止 ./nginx -s reload #重新加载 ./nginx -V #查看版本信息 查找安装路径:whereis nginx |
启动Nginx
mkdir logs
chmod 700 logs
先执行上面两行命令,否则会启动报错:
启动报错:
nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory)
分析原因:nginx/目录下没有logs文件夹
解决方案:创建文件夹并授权
验证: 输入以下命令
/usr/local/nginx/sbin/nginx -t
正常情况的信息输出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- 进入 /usr/local/nginx/sbin 目录,执行命令:./nginx 启动Nginx:
②查看Nginx进程是否启动:ps -ef | grep nginx
③关闭防火墙
若想使用外部主机连接上虚拟机访问Nginx,需要关闭虚拟机的防火墙。
centOS6及以前版本使用命令: systemctl stop iptables.service
centOS7关闭防火墙命令: systemctl stop firewalld.service
我这里使用的是CentOS7版本。
④随后访问该ip即可看到Nginx界面
至此,Nginx在Linux虚拟机上安装完成。