Centos7:编译安装nginx,附官网编译配置链接
环境:
系统:Centos7
IP:192.168.11.11
安装准备
停止原有web服务器: 以免端口冲突
添加用户账号来运行nginx:
这里有多种创建用户的方法都是可以的,根据自己的实际情况选择
useradd -r nginx
(创建一个名为nginx的系统用户)
下载nginx源码
官网选择合适的源或稳定的源
# wget http://nginx.org/download/nginx-1.17.10.tar.gz
如果没有安装wget使用# yum -y install wget
安装nginx依赖包
# yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ make cmake
- 这条命令运行有问题的话请查看一下自己的yum源是否有上面这些包
解压下载的包
# tar -xzf nginx-1.17.10.tar.gz
# cd nginx-1.17.10/
设置nginx编译配置
# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
参数 | 描述 |
---|---|
–prefix=
| NGINX文件的目录,以及其他配置脚本选项(不包括库的路径)设置的所有相对路径以及nginx.conf配置文件的路径的基本位置。默认值:/ usr / local / nginx。 |
–sbin-path=
| NGINX可执行文件的名称,仅在安装期间使用。默认值:<前缀> / sbin / nginx |
–conf-path=
| NGINX配置文件的名称。但是,您始终可以在启动时通过使用nginx命令行上的选项指定其他文件来覆盖此值。默认值: conf / nginx.conf-c |
–pid-path=
| nginx.pid文件的名称,用于存储nginx主进程的进程ID 。安装后,可以使用NGINX配置文件中的pid指令更改文件名的路径。默认值:<前缀> /logs/nginx.pid |
–error-log-path=
| 错误,警告和诊断数据的主日志文件的名称。安装后,可以使用NGINX配置文件中的error_log指令更改文件名。默认值:<前缀> /logs/error.log |
–http-log-path=
| 向HTTP服务器发出请求的主日志文件的名称。安装后,可以始终使用NGINX配置文件中的access_log伪指令更改文件名。默认值:<前缀> /logs/access.log |
–user= | NGINX工作进程使用其凭据的非特权用户的名称。安装后,可以使用NGINX配置文件中的用户指令更改名称。默认:nobody |
–group= | NGINX工作进程使用其凭据的组的名称。安装后,可以使用NGINX配置文件中的用户指令更改名称。默认值:该–user选项设置的值。 |
–with-pcre=
| PCRE库的源路径,这是location指令和Rewrite模块中支持正则表达式所必需的。 |
–with-pcre-jit | 使用“及时编译”支持(pcre_jit指令)构建PCRE库。 |
–with-zlib=
| zlib库的源路径,这是Gzip模块所必需的。 |
–with-http_stub_status_module | 声明启用service status页,默认不启用 |
–with-http_ssl_module | 启用ssl模块,以支持https请求 |
编译安装
# make && make install
替换nginx主程序
# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
# cp objs/nginx /usr/local/nginx/sbin/nginx
启动nginx
# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
开机自启
# echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.local
(记得给予rc.local
执行权限)
重启nginx服务,不影响正在访问web的人
# /usr/local/nginx/sbin/nginx -s reload
查看启动状态
# netstat -tanp |grep 80
测试主页是否能访问
关闭防火墙和selinux后可以输入ip用本机访问,