CentOS7 安装Nginx
有一个月没写博客了,是该记录一些东西了,之前一直使用的是Ubuntu系统,然后就想换个系统继续折腾下。就换成CentOS7的最小化安装。
目录:
- Nginx安装包 下载地址:http://nginx.org/en/download.html
- OpenSSL SSL协议加密解密的工具包 下载地址:https://www.openssl.org/
- PCRE 由c语言编写的正则表达式库 下载地址:http://www.pcre.org/
- zlib数据压缩库 下载地址:http://www.zlib.net/
下载完成之后,全部扔到linux中去吧,如果上传文件的过程中出现Access Denied(拒绝访问),看看文件的权限是不是只读的。下面是我的文件目录
注:1. 开始安装前,先说明下如果以下安装的过程中出现了:error: You need a C++ compiler for C++ support.说明你的系统中没有安装c++的编译环境, 使用命令: yum install gcc-c++ 安装即可。(由于系统是新安装的基本啥都没有,后面安装过程出现了此问题)
2. 在执行以下操作时候,最好切换到root权限,避免有时候需要在命令前 重复添加 sudo。 例如 sudo make install
1.先使用命令 tar -zxvf fileName (文件名称)。逐一的解压每个文件,如下图
2.安装OpenSSL
cd到OpenSSL目录内,执行以下命令
-
- ./config 生成Makefile文件(这里的是config文件不是Configure)
- make 读取Makefile中指令编译
- make install 安装到系统中(需要root权限)
3.安装PCRE 和zlib
PCRE 和zlib安装的方式一样,只是和OpenSSL的文件config名称不一样而已
-
- ./configure
- make
- make install
安装完上面的三个依赖包,下面安装我们的正主Nginx
安装Nginx过程和上面的基本相同,只是在执行configure文件的时候需要设置一些参数
1 ./configure 2 --prefix=/opt/nginx 3 --with-pcre=/home/mgame/soft/pcre-8.41 4 --with-openssl=/home/mgame/soft/openssl-1.1.0f 5 --with-zlib=/home/mgame/soft/zlib-1.2.11
下面是以上配置的意思,如果需要更多信息,可以翻阅官方文档:http://nginx.org/en/docs/configure.html
1 --prefix=/opt/nginx Nginx安装目录(默认/usr/local/nginx)
2 --with-pcre=/home/mgame/soft/pcre-8.41 PCRE解压目录
3 --with-openssl=/home/mgame/soft/openssl-1.1.0f OpenSSL解压目录
4 --with-zlib=/home/mgame/soft/zlib-1.2.11 zlib解压目录
注意了,以上的都是解压后的文件夹目录,不是安装后的目录。 当执行完成上的命令,执行下面的命令
编译: make
安装: make install
至此Nginx和依赖包都安装完成,下面试试能否成功启动Nginx
注:如果出现Access Denied(拒绝访问),请使用root权限安装
1.启动Nginx
先移动到Nginx安装目录内的sbin文件夹下
在运行Nginx的时候如果没有root权限会出现以下错误
看到后面括号内的提示没有 (Permission denied) ,拒绝访问,没有权限,运行的时候在命令前面加 sudo ./nginx 或者使用root权限
当执行 sudo ./nginx 命令后,并没有提示成功,可以使用 ps -aux | grep nginx 命令,看看是否启动Nginx了,如果出现如下图所示的样子时候说明已经成功了
然后,打开浏览器输入linux的地址,出现如果所示的样子,那么nginx已经可以完成安装了
2.无法访问的问题
(1) 关闭SELinux安全子系统
命令 vim /etc/selinux/config 编辑config文件,将SELINUX=enforcing的值设置为disabled(重启生效),如下
(2)设置防火墙开启80端口(Nginx监听的是80端口)
先使用命令 sudo firewall-cmd --list-all 查看当前防火墙状态
此处看到没有打开80端口,那么使用命令打开80端口,并重启防火墙
1 sudo firewall-cmd --add-port=80/tcp --permanent 打开80端口
2 sudo firewall-cmd --reload 重启防火墙
现在可看看是否开启80端口了
如果出现以上的信息,那么nginx基本上可以访问了。以上学习笔记到此为止,如果能帮到大家,不胜荣幸!文章有诸多不足的地方,欢迎多多指正。谢谢!
在程序员的路上一直在行走,虽然缓慢,但未曾停下。