nginx 学习笔记_nginx 安装和启动
程序员文章站
2022-07-14 12:45:54
...
nginx 学习笔记
第一章 Nginx 安装和启动
-
安装依赖包
安装 Nginx 时需要用到以下两个工具,因为我的服务器上面没有安装,make 出现报错
sudo yum -y install pcre-devel sudo yum -y install zlib-devel
-
下载&解压 Nginx 源码
wget http://download.redis.io/releases/redis-6.0.4.tar.gz tar -xzf redis-6.0.4.tar.gz
-
配置安装模块
cd ~/nginx-1.14.2 # 配置安装目录以及安装的模块(我使用的是默认的安装模块,不需要指定模块) ./configure --prefix=/home/hamming/nginx # http_stub_status_module 状态监控 # http_ssl_module 配置https # stream 配置tcp得转发 # http_gzip_static_module 压缩 # http_sub_module 替换请求
-
编译安装
make && make install
-
启动
./sbin/nginx -c ./conf/nginx.conf
-
验证
-
启动失败问题解决
# 问题一 # nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied) # 分析 # 当前用户对该位置没有写入权限, Linux只有root用户可以使用1024一下的端口 # 解决方法一 # sudo /home/hamming/nginx/sbin/nginx -c /home/hamming/nginx/conf/nginx.conf # 以root权限启动,注意这里同时要修改 nginx.conf 中的 user 为 root,否则会出现 forbiden # 解决方法二 # 修改 /home/hamming/nginx/conf/nginx.conf 文件中的监听端口 server { # listen 80 listen 8080 } # 问题二 # nginx: [emerg] open() "/home/hamming/nginx/logs/nginx.pid" failed (13: Permission denied) # 分析 # 可能之前使用root权限启动服务,使用如下命令修改文件所属用户:所属组即可 # 解决 chown -R hamming:hamming /home/hamming/nginx/logs/nginx.pid # 问题三 #定义Nginx运行的用户和用户组 # 启动成功后访问nginx对应的IP(49.234.146.164),出现403forbiden。 # 打开报错日志显示如下 # [error] 8121#0: *1 open() "/home/hamming/nginx/html/favicon.ico" failed (13: Permission denied), client: 120.204.99.66, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "49.234.146.164", referrer: "http://49.234.146.164/" # 检查 nginx.conf 文件中 user 参数发现没有配置,默认使用 nobody 打开,没有权限报错 # 解决方法 # 在 nginx.conf 文件中配置启动的用户(应为要 bind 80/443 端口,我这里使用的是 root) # 定义Nginx运行的用户和用户组 # user root
-
contrib 让 nginx.conf 高亮显示
cp -r contrib/vim/* ~/.vim/
-
contrib 让 nginx.conf 高亮显示
cp -r contrib/vim/* ~/.vim/