Linux平台nginx安装
本文编写时候的测试平台:腾讯云轻量应用服务器
操作系统:ubuntu18.4
1.nginx安装和配置
1.官方地址: http://nginx.org/
2. Nginx相关依赖:
OpenSSL: http://www.openssl.org/
密码库使用https进行通信的时候使用
./config
make
make test (可选)
sudo make install
ZLib下载: http://www.zlib.net/
数据压缩
安装:
./configure
make
sudo make install
PCRE下载: http://www.pcre.org/
解析正则表达式
安装
tar jxvf pcre-8.40.tar.bz2
./configure
make
sudo make install
# nginx工作时候需要依赖三个库
# 三个参数=这三个库对应的源码安装目录
# 根据自己的电脑的库安装包的位置进行指定
./configure --with-openssl=../openssl-1.0.1t --with-pcre=../pcre-8.40 --with-zlib=../zlib-1.2.11
make
sudo make install
安装错误处理
1.sha1 library is not found
#安装libssl-dev
sudo apt-get update
sudo apt-get libssl-dev
2.src/core/ngx_murmurhash.c:37:11: error: this statement may fall through
进入objs/Makefile,打开Makefile文件将编译选项中的CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -werror -g中的“-werror"删除
nginx 默认安装目录
/usr/local/nginx
conf -> 存储配置文件的目录
html -> 默认的存储网站(服务器)静态资源的目录 [图片, html, js, css]
logs -> 存储log日志
sbin -> 启动nginx的可执行程序
#Nginx可执行程序的路径
/usr/local/nginx/sbin/nginx
# 快速启动的方式
# 1. 将/usr/local/nginx/sbin/添加到环境变量PATH中
# 2. /usr/local/nginx/sbin/nginx创建软连接, 放到PATH对应的路径中, 比如: /usr/bin
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
# 假设软连接已经创建完毕
sudo nginx # 启动
# 第一种, 马上关闭
sudo nginx -s stop
# 第二种, 等nginx作为当前操作之后关闭
sudo nginx -s quit
sudo nginx -s reload # 修改了nginx的配置文件之后, 需要执行该命令
2.nginx无法启动的问题
1.nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)端口被占用
netstat -tln #查看所有端口的使用情况
netstat -tln | grep 80 #只查看80端口的使用情况
sudo lsof -i :80 #可获得占用的进程号
sudo kill -9 进程号
2.有进程无法访问应该是防火墙问题
sudo apt-get install firewalld
#查看防火墙端口
sudo firewall-cmd --list-ports
#3.查看nginx.conf中,默认的端口是80
#把80添加到默认防火墙中
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
#4.重启防火墙
sudo firewall-cmd --reload
#5.再次查看防火墙
sudo firewall-cmd --list-ports
#6.问题解决