一、配置Nginx 安装环境
-
安装Nginx需要先将官网的源码下载进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc :
yum install gcc-c++
-
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。Nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
-
zlib库提供了很多种压缩和解压缩的方式,Nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
-
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
二、编译安装
将nginx-1.15.9.tar.gz
拷贝到 linux 服务器。
解压
[root@localhost tomcat]# tar -zxf nginx-1.15.9.tar.gz
在/usr/tomcat/nginx-1.15.9
目录下创建Makefile
,执行以下命令进行创建。
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注意: 执行上面代码之前必须在/var/
目录下 创建 temp/nginx
文件夹做为临时文件的存储。
查看Makefile
是否创建成功。
[root@localhost nginx-1.15.9]# ls
auto CHANGES.ru configure html Makefile objs src
CHANGES conf contrib LICENSE man README
编译安装
make
# 安装nginx的位置是 /usr/local/nginx
make install
# nginx的位置
[root@localhost local]# cd nginx/
[root@localhost nginx]# ll
total 4
drwxr-xr-x. 2 root root 4096 Mar 20 18:04 conf
drwxr-xr-x. 2 root root 40 Mar 20 18:04 html
drwxr-xr-x. 2 root root 19 Mar 20 18:04 sbin
[root@localhost nginx]# cd sbin/
[root@localhost sbin]# ll
total 3764
-rwxr-xr-x. 1 root root 3850632 Mar 20 18:04 nginx
[root@localhost sbin]#
三、Nginx的使用方法
# 启动 Nginx
cd /usr/local/nginx/sbin/
./nginx
# 停止 Nginx
cd /usr/local/nginx/sbin
./nginx -s quit
# 重启 Nginx
./nginx -s quit
./nginx
# 查看Nginx进程
ps aux|grep nginx
四、测试
输入虚拟机的IP地址进行访问(Nginx默认是80端口),出现Nginx的欢迎页说明配置成功。
五、重启虚拟机后,启动nginx报错
报错信息如下
[root@localhost sbin]# ./nginx
[root@localhost sbin]# nginx: [emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)
解决办法:
-
cd
到cd /usr/local/nginx/conf/
目录下,编辑配置文件nginx.conf
。 -
在配置文件中 取消
pid logs/nginx.pid;
这行注释,并修改为pid /usr/local/nginx/logs/nginx.pid;
-
在
/usr/local/nginx
目录下创建logs
文件夹。 -
启动nginx。