- shell>> cd /opt
- shell>> wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz
- shell>> tar xzvf nginx-0.7.64.tar.gz
- shell>> cd nginx-0.7.64
然后开始编译安装,先配置编译变量:
- ./configure \
- --user=nginx \
- --group=nginx \
- --prefix=/opt/nginx \
- --sbin-path=/usr/sbin/nginx \
- --conf-path=/etc/nginx/nginx.conf \
- --error-log-path=/var/log/nginx/error.log \
- --http-log-path=/var/log/nginx/access.log \
- --http-client-body-temp-path=/tmp/nginx/client_body \
- --http-proxy-temp-path=/tmp/nginx/proxy \
- --http-fastcgi-temp-path=/tmp/nginx/fastcgi \
- --pid-path=/var/run/nginx.pid \
- --lock-path=/var/lock/subsys/nginx \
- --with-http_stub_status_module
这里解释一下:
# --user 是指启用程序所属用户
# --group 是指启动程序所属组
# --prefix 是指nginx安装目录(不是源代码目录)
# --sbin-path 是指nginx命令位置
# --conf-path 是指配置文件路径
# --error-log-path 是错误日志路径
# --http-log-path 是访问日志
其他是一些临时文件的路径和做linux service需要用到的文件
需要监控服务需安装此监控状态模块
# --with-http_stub_status_module
然后make
- shell>> cd /opt/nginx
- shell>> make
- shell>> make install
现在已经可以通过nginx命令来启动了,但是我们如果想要把nginx做成一个服务,必须要写一个shell.
简单说一下,
# chkconfig: - 85 15 所有运行级别,启动优先级85, 关闭优先级15
# processname: 进程名称
# config: nginx配置文件位置
# config: 系统会优先找第一个,如果找不到再去找第二个
# pidfile: 进程ID存放文件,用来存放程序启动后的进程ID
# Source function library. linux常用的方法库,有兴趣可以去看看service XXX status 就使用了里边的一个方法
# Source networking configuration. 网络配置
Shell代码
好了,已经做成chkconfig了,下边需要配置一下nginx反向代理,需要修改/etc/nginx/nginx.conf配置文件
- user nginx;
- worker_processes 2;
-
- error_log /var/log/nginx/error.log;
- #error_log /var/log/nginx/error.log notice;
- #error_log /var/log/nginx/error.log info;
-
- pid /var/run/nginx.pid;
-
-
- events {
- use epoll; # 采用epoll,是linux下最快的event
- worker_connections 2048;
- }
-
-
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- #gzip on;
-
- #反向代理配置 ,向内网6台jboss转发
- upstream jboss5 {
- server 172.16.201.127:8080 weight=10;
- server 172.16.201.128:8080 weight=10;
- server 172.16.201.129:8080 weight=10;
- server 172.16.201.130:8080 weight=10;
- server 172.16.201.131:8080 weight=10;
- server 172.16.201.132:8080 weight=10;
- }
-
- server {
- listen 80;
- server_name localhost;
-
- location ~ ^/nginx_status/ {
- stub_status on;
- access_log off;
- }
-
- location / {
- proxy_pass http://jboss5;
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
-
- }
-
- }