Nginx搭建
- 下载Nginx压缩包:
wget http://nginx.org/download/nginx-1.6.2.tar.gz
- 解压:tar -zxvf 压缩包名字
- 编译安装:
./configure
make && make install
- 配置nginx.conf文件
- 测试配置文件是否修改正确:/usr/local/nginx/sbin/nginx -t
- 启动nginx:/usr/local/nginx/sbin/nginx
- 查看Nginx主进程号:ps -ef | grep
"nginx: master process" | grep -v
“grep” | awk -F “’ ’ ‘{print $2}’ - 停止Nginx:/usr/local/nginx/sbin/nginx -s stop
一些常见安装错误
- 编译时出现:eror:C compuler cc is not foumd
解决方案:安装gcc进行编译:yum -y install gcc gcc-c++ autocong antmake
- the HTTP rewrite module requires the PCRE libreary
解决方案:安装PCRE库:yum -y install pcre pcre-devel
- the HTTp gzip module requires the zlib library
解决方案:安装zlib库:yum -y install zlib zlib-devel
Nginx安装
openssl
1. ./config
2. make && make install
pcre
1. ./configure
2. make && make install
zlib
1. ./configure
2. make && make install
Nginx
1. ./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/home/soft/pcre-8.40 \
--with-zlib=/home/soft/zlib-1.2.11 \
--with-openssl=/home/soft/openssl-1.1.0h
2. make && make install
3. 默认目录:
nginx path prefix: “/usr/local/nginx”
nginx binary file: “/usr/local/nginx/sbin/nginx”
nginx modules path: “/usr/local/nginx/modules”
nginx configuration prefix: “/usr/local/nginx/conf”
nginx configuration file: “/usr/local/nginx/conf/nginx.conf”
nginx pid file: “/usr/local/nginx/logs/nginx.pid”
nginx error log file: “/usr/local/nginx/logs/error.log”
nginx http access log file: “/usr/local/nginx/logs/access.log”
nginx http client request body temporary files: “client_body_temp”
nginx http proxy temporary files: “proxy_temp”
nginx http fastcgi temporary files: “fastcgi_temp”
nginx http uwsgi temporary files: “uwsgi_temp”
nginx http scgi temporary files: “scgi_temp”
端口开放
- 命令vim /etc/sysconfig/iptables(修改内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
) - 重启服务器:
service iptables restart
Nginx常用指令
- 启动nginx:
/usr/local/nginx/sbin/nginx
- pcre:报错解决:
ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.1
- pcre:报错解决:
- 停止:
/usr/local/nginx/sbin/nginx -s top
- 重启:
/usr/local/nginx/sbin/nginx -s reload
- 检查配置文件是否合法:
usr/local/nginx/sbin/nginx -t
Nginx配置文件
- 文件目录:
/usr/local/nginx/conf/nginx.conf
文件结构
- 全局
- events块
- http块
- 嵌套多个server
- 配置反响代理功能提供负载均衡支持
- server块
- 配置虚拟主机(客户端)的i相关参数
- location块
- 请求url过滤,正则匹配
构建反向代理
- Nginx处理静态,不处理静态,动态内容由后台Tomcat处理
- 4.
编译指令详解
./configure
--prefix=path 定义一个目录,存放服务器上的文件,也就是nginx的安装目录。默认使用 /usr/local/nginx。
--sbin-path=path 设置的nginx的可执行文件的路径,默认为 prefix/sbin/nginx。
--conf-path=path 设置在nginx.conf配置文件的路径.nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf。
--pid-path=path 设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为prefix/logs/nginx.pid。
--error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名,在nginx.conf配置文件中使用的error_log指令。默认情况下,文件名为prefix/logs/error.log。
--http-log-path=path 设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文件名,在nginx.conf配置文件中使用的access_log指令。默认情况下,文件名为prefix/logs/access.log。
--user=name 设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中使用的用户指令。默认的用户名是nobody。
--group=name 设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中使用的用户指令。默认的为非特权用户。
--with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
--with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用轮询()方法。该模块将自动建立,如果平台不支持的的kqueue,epoll的,rtsig或的/ dev /轮询。
--without-http_gzip_module - 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。
--without-http_rewrite_module 不编译重写模块。编译并运行此模块需要PCRE库支持。
--without-http_proxy_module - 不编译http_proxy模块。
--with-http_ssl_module - 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。
--with-pcre=path - 设置PCRE库的源码路径.PCRE库的源码(版本4.4 - 8.30)需要从PCRE网站下载并解压。其余的工作是Nginx的./configure和make来完成。正则表达式使用在location指令和ngx_http_rewrite_module模块中。
--with-pcre-jit - 编译PCRE包含“just-in-time compilation”(1.1.12中,pcre_jit指令)。
--with-zlib=path - 设置的zlib库的源码路径。要下载从zlib(版本1.1.3 - 1.2.5)的并解压。其余的工作是Nginx的./configure和make完成.ngx_http_gzip_module模块需要使用zlib。
--with-cc-opt=parameters - 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE库时需要使用:--with-cc-opt="-I /usr/local/include。。如需要需要增加 select()支持的文件数量:--with-cc-opt="-D FD_SETSIZE=2048".
--with-ld-opt=parameters - 设置附加的参数,将用于在链接期间例如,当在FreeBSD下下使用该系统的PCRE库,应指定:--with-ld-opt="-L /usr/local/lib".