nginx是一个高性能的HTTP代理服务器和反向代理服务器,也可以作为负载均衡器、MAP/POP3/SMTP服务器。这里总结一下nginx的安装配置:
(1) 这里选择官网下载安装包编译安装,安装到centos 6.5 系统。下载地址 http://nginx.org/en/download.html,下载nginx-1.13.12.tar.gz
(2) 上传安装包到/usr/local/src目录下,解压得到nginx-1.13.12文件夹, 进入nginx-1.13.12/src目录
cd /usr/local/src/nginx-1.13.12/src
(3)配置检查、编译、安装,这里选择安装在/usr/local/nginx目录下,步骤如下:
(a)./configure --prefix=/usr/local/nginx ;
(b)make ;
(c)make install ;
./configure可以配置安装参数,比如安装目录,如果不指定目录,安装后默认可执行文件目录为可执行文件为/usr/local/bin目录下,库文件在/usr/local/lib目录下;
./configure还会检查当前系统环境下的依赖关系,我这里检查发现需要缺少PCRE(作用是让 Nginx 支持 Rewrite功能),因此需要安装PCRE,通常还需要安装openssl和zlib,我的机器上已经安装,如果没有安装可以参考下下诉三个步骤进行安装,步骤如下:
(a)安装openssl
https://www.openssl.org/source/ 下载 openssl-fips-2.0.16.tar.gz,上传到/usr/local/src目录下解压,进入文件夹
cd openssl-fips-2.0.16; ./configure; make; make install
(b) http://www.zlib.net/下载zlib-1.2.11.tar.gz, 上传到/usr/local/src目录解压后安装
cd zlib-1.2.11; ./configure; make; make install
(c) ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/下载pcre-8.42.tar.gz,上传到/usr/local/src目录解压安装
cd pcre-8.42; ./configure; make; make install
如果需要安装openssl-devel,zlib-devel; centos可以按照如下步骤安装(需要联网):
yum -y install openssl-devel; yum install devel
实际上安装nginx之前,对于编译工具和依赖库,可以使用如下命令全部安装或者更新,然后再安装pcre,最后niginx即可
yum -y install gcc-c++ make libtool zlib zlib-devel openssl openssl-devel
(4)nginx安装结果测试
/usr/local/nginx/sbin/nginx
报错:error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
运行如下命令(32为系统)
ln -s /usr/local/lib/libpcre.so.1 /lib
如果是64位系统:
ln -s /usr/local/lib/libpcre.so.1 /lib64
再次尝试运行nginx成功:
/usr/local/nginx/sbin/nginx
查看进程:
ps -aux|grep nginx
可以看到主进程和工作进程。nginx有一个主进程和几个工作进程。主进程维护配置和工作进程运行,以root用户运行。工作进程处理连接请求,无所属用户
在浏览器中输入 http://localhost 可见welcome to nginx
(5)nginx常见操作
nginx -s stop 快速停止服务
nginx -s quit 正常挺会服务
nginx -s reload 重新加载配置文件
kill -s QUIT +PID 也能够关闭nginx进程
(6)关于配置文件nginx.conf
查看配置文件: cat /usr/local/nginx/conf/nginx.conf
检查配置文件:/usr/local/nginx/sbin/nginx -t
配置文件配置了日志级别、超时时间、服务器信息、主页信息、反向代理器配置信息等。以服务器配置为例:
server {
listen 80; #端口
server_name localhost; #域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html; #站点的根目录 /usr/local/nginx/html
index index.html index.htm; #主页
}