Linux下安装Nginx操作详解
用户root为例,首先准备好一些必备的安装包,安装包列表有:
(可从 \\192.168.50.187\安装包 共享目录下下载)
1. 安装GCC编译器(注意切换目录)
首先先安装GCC-1下的安装包,安装命令如下:
dpkg –i *.deb
然后再安装GCC-2下的安装包,目录切换到GCC-2目录下,安装命令同上。
2. 安装make包,安装命令同1。
3. 安装pcre(注意切换目录)
tar zxvf pcre-8.34.tar.gz
切换到pcre的安装目录,然后:
./configure
make
make install
4. zlib包
如果系统没有zlib包,则需手动安装:
tar zxvf zlib.tar.gz
切换到zlib的安装目录,然后:
./configure
make
make install
5. 安装nginx
tar zxvf nginx-1.4.1.tar.gz
切换到nginx的安装目录,然后:
./configure--prefix=/usr/local/nginx--with-http_stub_status_module
make
make install
检查是否安装成功:
cd /usr/local/nginx/sbin
./nginx -t
结果显示:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动nginx:
cd /usr/local/nginx/sbin目录下面输入./nginx启动nginx
检查是否启动成功
在浏览器中输入 http://192.168.50.107,显示:
nginx.conf配置:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 128k;
proxy_temp_path f:/n_temp_dir;
proxy_cache_path f:/n_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
include bhosts.conf;#load balance
server {
listen 80;
server_name utfood.com;
location / {
root E:\UtWorkspace\StaticApp_cn;
index index.html index.htm;
}
include chosts.conf; #nginx cache
include phosts.conf; #proxy to server
}
}
bhosts.conf配置:
upstream myCon {
server 192.168.50.34:8080 down;
server 192.168.50.187:8080;
ip_hash;
}
chosts.conf配置:
location ~*/GoodsShowService/listGoodsByCategory {
proxy_cache cache_one;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
proxy_cache_methods GET POST;
proxy_pass http://tserver;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_ignore_client_abort on;
expires 1d;
}
phosts.conf配置:
location ~*/getmsg {
proxy_pass http://192.168.50.31:6767;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_ignore_client_abort on;
}
location ~*/RandomCode {
proxy_pass http://tserver;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_ignore_client_abort on;
}
location ~*/AppSrv {
proxy_pass http://tserver;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_ignore_client_abort on;
}
附:nginx在linux的一些常用指令
启动:
cd /usr/local/nginx/sbin
./nginx
重启:./nginx –s reload
关闭:./nginx –s stop
Nginx开机自启动/关闭/重启命令配置
/etc/init.d/nginx添加以下脚本:
#! /bin/sh
# Reproduced with express authorization from its contributors
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME
# If the daemon file is not found, terminate the script.
test -x $DAEMON || exit 0
d_start() {
$DAEMON || echo -n " already running"
}
d_stop() {
$DAEMON -s quit || echo -n " not running"
}
d_reload() {
$DAEMON -s reload || echo -n " could not reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
reload)
echo -n "Reloading $DESC configuration..."
d_reload
echo "reloaded."
;;
restart)
echo -n "Restarting $DESC: $NAME"
d_stop
# Sleep for two seconds before starting again, this should give the
# Nginx daemon some time to perform a graceful stop.
sleep 2
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}">&2
exit 3
;;
esac
exit 0
在命令行输入:update-rc.d nginx defaults 98
更改权限:chmod a+x /etc/init.d/nginx
重启之后就可以直接使用服务来启动nginx,如:
service nginx start
service nginx stop
service nginx restart
用户root为例,首先准备好一些必备的安装包,安装包列表有:
(可从 \\192.168.50.187\安装包 共享目录下下载)
把这些安装包复制到/root/nginx_install_files/目录下。首先检查系统是否安装GCC和make,输入gcc(make)后如果出现:
1. 安装GCC编译器(注意切换目录)
首先先安装GCC-1下的安装包,安装命令如下:
dpkg –i *.deb
然后再安装GCC-2下的安装包,目录切换到GCC-2目录下,安装命令同上。
2. 安装make包,安装命令同1。
3. 安装pcre(注意切换目录)
tar zxvf pcre-8.34.tar.gz
切换到pcre的安装目录,然后:
./configure
make
make install
4. zlib包
如果系统没有zlib包,则需手动安装:
tar zxvf zlib.tar.gz
切换到zlib的安装目录,然后:
./configure
make
make install
5. 安装nginx
tar zxvf nginx-1.4.1.tar.gz
切换到nginx的安装目录,然后:
./configure--prefix=/usr/local/nginx--with-http_stub_status_module
make
make install
检查是否安装成功:
cd /usr/local/nginx/sbin
./nginx -t
结果显示:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动nginx:
cd /usr/local/nginx/sbin目录下面输入./nginx启动nginx
检查是否启动成功
在浏览器中输入 http://192.168.50.107,显示:
nginx.conf配置:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 128k;
proxy_temp_path f:/n_temp_dir;
proxy_cache_path f:/n_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
include bhosts.conf;#load balance
server {
listen 80;
server_name utfood.com;
location / {
root E:\UtWorkspace\StaticApp_cn;
index index.html index.htm;
}
include chosts.conf; #nginx cache
include phosts.conf; #proxy to server
}
}
bhosts.conf配置:
upstream myCon {
server 192.168.50.34:8080 down;
server 192.168.50.187:8080;
ip_hash;
}
chosts.conf配置:
location ~*/GoodsShowService/listGoodsByCategory {
proxy_cache cache_one;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
proxy_cache_methods GET POST;
proxy_pass http://tserver;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_ignore_client_abort on;
expires 1d;
}
phosts.conf配置:
location ~*/getmsg {
proxy_pass http://192.168.50.31:6767;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_ignore_client_abort on;
}
location ~*/RandomCode {
proxy_pass http://tserver;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_ignore_client_abort on;
}
location ~*/AppSrv {
proxy_pass http://tserver;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_ignore_client_abort on;
}
附:nginx在linux的一些常用指令
启动:
cd /usr/local/nginx/sbin
./nginx
重启:./nginx –s reload
关闭:./nginx –s stop
Nginx开机自启动/关闭/重启命令配置
/etc/init.d/nginx添加以下脚本:
#! /bin/sh
# Reproduced with express authorization from its contributors
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME
# If the daemon file is not found, terminate the script.
test -x $DAEMON || exit 0
d_start() {
$DAEMON || echo -n " already running"
}
d_stop() {
$DAEMON -s quit || echo -n " not running"
}
d_reload() {
$DAEMON -s reload || echo -n " could not reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
reload)
echo -n "Reloading $DESC configuration..."
d_reload
echo "reloaded."
;;
restart)
echo -n "Restarting $DESC: $NAME"
d_stop
# Sleep for two seconds before starting again, this should give the
# Nginx daemon some time to perform a graceful stop.
sleep 2
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}">&2
exit 3
;;
esac
exit 0
在命令行输入:update-rc.d nginx defaults 98
更改权限:chmod a+x /etc/init.d/nginx
重启之后就可以直接使用服务来启动nginx,如:
service nginx start
service nginx stop
service nginx restart