Nginx的安装
1. 获取Nginx安装包
下载地址:官方下载地址
下载最新的稳定版就可以,CentOS 7 需要下载下图红框里的版本
2. 安装Nginx
2.1 上传安装包
Windows下可以使用Xftp上传到虚拟机,官网上有免费版本(需要提供姓名和邮箱),MacOS可以使用FileZilla上传,也是免费的软件
上传时(直接拖进去即可),建议在 /home 路径下创建一个文件夹,集中存放上传到虚拟机的软件
2.2 解压
进入虚拟机或者使用 Xshell / FinalShell / SecureCRT连接虚拟机,进入刚刚上传的压缩包所在的目录
tar -zxvf nginx-1.18.0.tar.gz
这时候就得到了解压后的Nginx
2.3 安装必要依赖
1.安装gcc环境
yum install gcc-c++
在安装gcc时,会有两次问,是否安装完毕和是否继续,选择是就可以(如下图)
2.安装PCRE库,用于解析正则表达式
yum install -y pcre pcre-devel
3.zlib压缩和解压缩依赖
yum install -y zlib zlib-devel
4.SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https
yum install -y openssl openssl-devel
2.4 创建Nginx临时目录
如果不创建的话,在安装过程中会报错
mkdir /var/temp/nginx -p
2.5 配置Nginx
进入刚刚解压的Nginx目录(我这里是/home/software/nginx-1.18.0),将以下命令复制到命令行中然后回车
./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_ssl_module
命令 | 说明 |
---|---|
prefix | 安装目录 |
pid-path | 指向Nginx的pid |
locak-path | 锁定安装文件,防止被恶意篡改或误操作 |
error-log | 错误日志 |
http-log-path | http日志 |
with-http_gzip_static_module | 启用gzip模块,在线实时压缩输出数据流 |
http-client-body-temp-path | 设定客户端请求的临时目录 |
http-proxy-temp-path | 设定http代理临时目录 |
http-fastcgi-temp-path | 设定fastcgi临时目录 |
http-uwsgi-temp-path | 设定uwsgi临时目录 |
http-scgi-temp-path | 设定scgi临时目录 |
with-http_ssl_module | ssl模块,即https |
2.6 编译Nginx
继续在当前目录(我这里是/home/software/nginx-1.18.0)
make
2.7 安装
继续在当前目录(我这里是/home/software/nginx-1.18.0)
make install
2.8 启动Nginx
进入到Nginx的安装目录下的sbin目录
注意: 不是/home/software下的nginx,是在配置哪一步里prefix的路径
我这里是 /usr/local/nginx
./nginx
2.9 测试
在浏览器输入虚拟机的IP,如果出现以下界面,则安装成功
3. 无法访问
如果安装完毕之后,启动Nginx页面无法访问,检查一下虚拟机的防火墙是不是开着
systemctl status firewalld
如果如下图这样,说明防火墙还开着
临时关闭防火墙(重启后防火墙依然开启)
systemctl stop firewalld
永久禁用防火墙
systemctl disable firewalld
禁用防火墙之后,再次在浏览器输入虚拟机IP,如果出现欢迎界面,Nginx就安装成功了