安装Nginx
官网:http://nginx.org/en/download.html
1.安装依赖
yum -y install gcc pcre-devel openssl openssl-devel
2.下载
wget http://nginx.org/download/nginx-1.12.2.tar.gz
3.解压到指定文件夹
tar -zxvf nginx-1.12.2.tar.gz -C /usr/local/
4.创建nginx目录并进入加压的nginx目录
mkdir /usr/local/nginx
cd /usr/local/nginx-1.12.2
5.配置nginx(指定为刚才新建的目录)
./configure --prefix=/usr/local/nginx
6.编译并安装
make && make install
7.启动nginx(没有反应)
/usr/local/nginx/sbin/nginx
8.查看nginx进程
ps -ef | grep nginx
9.加入环境变量
vi /etc/profile
10.添加以下内容
PATH=$PATH:/usr/local/nginx/sbin
export PATH
11.保存后执行以下命令
source /etc/profile
12.开机自启脚本
-12.1.编辑文件
vi /etc/init.d/nginx
-12.2.复制以下内容(如有地址不同自定修改)
#!/bin/sh
# chkconfig: 2345 80 90
# description: Start and Stop nginx
#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}
do_reload() {
kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
-12.3.注册成服务、加入开机自启、给定执行权限
chkconfig --add nginx
chmod a+x /etc/init.d/nginx
chkconfig nginx on
-12.4.测试命令
service nginx start
service nginx stop
service nginx restart
13.配置nginx
-13.1.修改网站默认根目录路径
vi /usr/local/nginx/conf/nginx.conf
网站默认根目录放在/usr/local/nginx/html
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/local/nginx/html;
index index.html index.htm;
}
-13.2.配置反向代理
server {
listen 80;
server_name nginx-01.cn; #nginx所在服务器的主机名
#反向代理的配置
location / { #拦截所有请求
root html;
proxy_pass http://192.168.0.21:8080; #这里是代理走向的目标服务器(IP:端口):tomcat
}
-13.3.动静分离
##动态资源
location ~ .*\.(jsp|do|action)$ {
proxy_pass http://tomcat-01.itcast.cn:8080;
}
##静态资源
location ~ .*\.(html|js|css|gif|jpg|jpeg|png)$ {
expires 3d;
}
-13.4.负载均衡
##在http这个节下面配置一个叫upstream的,后面的名字可以随意取,
##但是要和location下的proxy_pass http://后的保持一致
http {
#是在http里面的, 已有http, 不是在server里,在server外面
upstream tomcats {
server shizhan02:8080 weight=1; #weight表示权重
server shizhan03:8080 weight=1;
server shizhan04:8080 weight=1;
}
#写在server里
location ~ .*\.(jsp|do|action) {
proxy_pass http://tomcats; #tomcats是后面的tomcat服务器组的逻辑组号
}
}