因为在Linux系统上安装Nginx需要编译首先要检查gcc是否已经安装:
gcc -v #出现gcc安装信息说明已经安装过
如果检查gcc没有安装需要执行:
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
PCRE让Nginx具有Rewrite的功能。
下载PCRE库安装包:
cd /usr/local/nginx/ #进入此目录
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz #此链接可能已经失效,试试下面的。
wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz
如果出现:-bash:wget:未找到命令就需要执行下面的命令去安装依赖:
yum -y install wget
下载完成后,解压pcre-8.40.tar.gz
:
tar zxf pcre-8.40.tar.gz #解压命令
得到pcre-8.40
解压后的安装包,进入此包下面检查配置:
cd /usr/local/nginx/pcre-8.40
./configure #检查配置
如果出现 configure: error: You need a C++ compiler for C++ support. 错误,说明当前的系统缺少c++的编译环境,需要安装一下:
yum install -y gcc gcc-c++ #安装c++编译环境
再次执行配置检查:
./configure #检查配置
如果没有问题了,就可以进行编译了:
make && make install #编译安装
在当前目录下检查版本信息:
pcre-config --version #检查pcre的版本信息
如果出现版本信息,PCRE安装完成!
进入目录下载ngxin:
cd /usr/local/nginx
wget http://nginx.org/download/nginx-1.9.9.tar.gz #下载nginx压缩包
#也可以直接到http://nginx.org/download/选择自己想要的nginx版本。
下载得到的nginx-1.9.9.tar.gz
解压:
tar zxf nginx-1.9.9.tar.gz # -zxvf 可以查看解压信息
解压后得到安装包 nginx-1.9.9
,进入安装包下:
cd /usr/local/nginx/nginx-1.9.9
编译nginx与pcre:
# --prefix:nginx的安装目录
#--with-http_stub_status_module:监控nginx当前状态
# --with-http_ssl_module:使用https协议模块
#--with-pcre:设置PCRE库的源码路径
./configure --prefix=/usr/local/nginx/nginx-1.9.9 --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/nginx/pcre-8.40
如果执行过程出现 ./configure: error: SSL modules require the OpenSSL library 错误,说明没有openssl的相关依赖需要进行安装:
yum -y install openssl openssl-devel #安装openSSL依赖
如果没有错误可以忽略上面的命令。
同样是在 /usr/local/nginx/nginx-1.9.9 目录下面编译:
make #把文件编译成最新的版本
make install
成功之后可以进行sbin文件夹,执行nginx:
cd /usr/local/nginx/nginx-1.9.9
./nginx -v #检查版本信息
如果nginx的版本信息存在,nginx安装成功!
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
#静态资源代理的简单配置
server {
listen 1234; #nginx监听的端口
server_name localhost;
location /{
root /home/html/; #资源路径
index index.html; #默认页面,这个页面是自己写的,/home/html/index.html
}
}
}
当访问到1234这个端口的时候,资源会由nginx进行代理访问:
如果无法访问,应该是Linux防火墙的原因,关闭防火墙或者禁用或者开放1234这个端口都可以:
systemctl stop firewalld #暂时关闭防火墙
service iptables stop
#
systemctl disable firewalld #禁用防火墙
chkconfig iptables off
#
systemctl enable firewalld #重启防火墙
service iptables restart
注意!在启动的时候有可能会因为找不到logs日志目录而报错,只需要在conf的同级目录建一个logs目录就可以了。如果想要把日志目录定义到其他的位置可以在配置文件中对应修改。
cd /usr/local/nginx/nginx-1.9.9/sbin/ #进入目录
./nginx -s reload #修改配置文件后重新加载
./nginx -s reopen #重启nginx
./nginx -s stop #停止nginx
./nginx #启动nginx
#每执行一个上面的命令可以查看一下nginx进程
ps -ef|grep nginx
https://www.cnblogs.com/wangle1001986/p/9723884.html
Nginx配置systemctl启动方式
https://blog.csdn.net/eddy23513/article/details/81366751
https://blog.csdn.net/qq_17496365/article/details/97019490
https://www.cnblogs.com/jxldjsn/p/10794171.html