问题:
./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
解决:
find / -type f -name *libpcre.so.*
ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1#建立软链接指向存在的就可以了
conf文件夹下配置文件可以查看默认端口80,可以访问,显示如下则已经安装运行成功:
1.使用的前提条件,进入到nginx的目录
/usr/local/nginx/sbin
2.查看nginx的版本号
./nginx -v
3.启动nginx
./nginx
4.关闭nginx
./nginx -s stop
5.重新加载nginx(不用重启可以重新加载配置文件)
./nginx -s reload
1.位置/usr/local/ngix/conf/mginx.conf
2.nginx由三部分组成:全局块、events、http
全局块:从配置文件开始到events之间的内容,主要会设置一下影响nginx服务器整体运行的配置命令,比如worker_processes 1; 值越大,可以支持并发处理量也越多
events:涉及的指令主要影响nginx服务器与用户的网络连接,比如worker_connections 1024;支持的最大连接数
http:包括http全局块,server块(包括全局server、location块)
反向代理实例一:
反向代理实例二:
server {
listen 9001;
server_name 192.168.3.128;
location ~ /edu/ {
proxy_pass http://127.0.0.1:8080;
}
location ~ /vod/ {
proxy_pass http://127.0.0.1:8081;
}
}
对外开放端口号8080/8081/9001
访问http://192.168.3.128:9001/edu/test.html 和 http://192.168.3.128:9001/vod/test.html
location配置说明
=:用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求;
~:用于表示uri包含正则表达式,并且区分大小写;
~*:用于表示uri包含正则表达式,并且不区分大小写;
-~:用于不含正则表达式的uri前,要求nginx服务器找到表示uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配。
注意:如果uri中包含正则表达式,则必须要有~或者 ~*标识
upstream myserver{
server 192.168.3.128:8080 weight 10;
server 192.168.3.128:8081;
}
3)ip_hash:每个请求按访问IP的hash结构分配,这样每个访客固定访问一个后端服务器,可以解决session问题
upstream myserver{
ip_hash
server 192.168.3.128:8080;
server 192.168.3.128:8081;
}
1.3之后可以同时使用weight和ip_hash
4)fair(第三方):按后端服务器响应时间分配,响应时间短优先分配
upstream myserver{
server 192.168.3.128:8080;
server 192.168.3.128:8081;
fair
}
! Configuration File for keepalived
global_defs { #全局配置
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL #访问到主机 /etc/hosts下面可以配置
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh" #执行脚本
interval 2 #检测脚本执行间隔
weight 2 #当前服务器权重
}
vrrp_instance VI_1 {
state MASTER #服务器类型,从机BACKUP
interface eth0 #网卡
virtual_router_id 51 #主备机必须相同
priority 100 #主备机优先级,主机较大,备机较小比如从机设为90
advert_int 1 #默认每隔1秒发一次心跳
authentication { #校验
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.3.50 #虚拟IP,可以配置多个
}
}
/usr/local/src/nginx_check.sh文件:
#!/bin/bash
A=`ps -C nginx -no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep
if [ `ps -C nginx --no-header |wc -l` -eq 0];then
killall keepalived
fi
fi
./nginx
systemctl start keepalived.service(或者CentOS6.x用service keepalived start)
学习整理于nginx.