CentOS6.5环境安装nginx服务器及负载均衡配置的方法
发布时间 - 2023-05-14 00:00:00 点击率:次1、下载pcre, 是一个用c语言编写的正则表达式函数库
[root@localhost pcre-8.36]# cd /tmp/download/ [root@localhost download]# wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz [root@localhost download]# tar zxvf pcre-8.36.tar.gz
2、下载zlib库
[root@localhost pcre-8.36]# cd /tmp/download/ [root@localhost download]# wget http://ncu.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz [root@localhost download]# tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8
4、下载ssl
[root@localhost zlib-1.2.8]# cd .. [root@localhost download]# wget http://www.openssl.org/source/openssl-1.0.1p.tar.gz [root@localhost download]# cd openssl-1.0.1c [root@localhost openssl-1.0.1c]# tar -zxvf openssl-1.0.1c.tar.gz
5、下载nginx
[root@localhost download]# wget http://nginx.org/download/nginx-1.2.8.tar.gz [root@localhost download]# tar -zxvf nginx-1.2.8.tar.gz
6、安装
[root@localhost download]mv pcre-8.36 /usr/local/ [root@localhost download]mv zlib-1.2.8 /usr/local/ [root@localhost download]mv openssl-1.0.1c /usr/local/ [root@localhost download]mv nginx-1.2.8 /usr/local/ [root@localhost download]cd /usr/local/ [root@localhost local]# cd pcre-8.36 [root@localhost pcre-8.36]# ./configure&&make&&make install [root@localhost pcre-8.36] cd ../zlib-1.2.8 [root@localhost zlib-1.2.8]# ./configure && make && make install [root@localhost zlib-1.2.8]# cd ../openssl-1.0.1c [root@localhost openssl-1.0.1c]# ./config && make && make install [root@localhost openssl-1.0.1c]# cd ../nginx-1.2.8 [root@localhost nginx-1.2.8]# ./configure --prefix=/usr/local/nginx && make && make install
7、启动nginx
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
8、测试
在确保可以连接到服务器的电脑上,浏览器输入装了nginx的机器的ip地址,会看到welcome to nginx!的提示说明安装配配置成功了。
9、设置开机自动启动(shell脚本处理)
[root@localhost logs]# vi /etc/init.d/nginx
添加以下shell脚本。
#!/bin/bash
# nginx startup script for the nginx http server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: nginx is a high-performance web and proxy server.
# it has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/var/run/nginx.pid
retval=0
prog="nginx"
# source function library.
. /etc/rc.d/init.d/functions
# source networking configuration.
. /etc/sysconfig/network
# check that networking is up.
[ ${networking} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"starting $prog: "
daemon $nginxd -c ${nginx_config}
retval=$?
echo
[ $retval = 0 ] && touch /var/lock/subsys/nginx
return $retval
}
# stop nginx daemons functions.
stop() {
echo -n $"stopping $prog: "
killproc $nginxd
retval=$?
echo
[ $retval = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
echo -n $"reloading $prog: "
#kill -hup `cat ${nginx_pid}`
killproc $nginxd -hup
retval=$?
echo
}
# see how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
retval=$?
;;
*)
echo $"usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $retval保存后,设置权限让所有人可以操作。
[root@localhost ~]# chmod a+x /etc/init.d/nginx [root@localhost logs]# /etc/init.d/nginx status nginx (pid 2417 2416) is running... [root@localhost logs]# /etc/init.d/nginx stop stopping nginx: [ ok ] [root@localhost logs]# /etc/init.d/nginx start starting nginx: [ ok ] [root@localhost logs]# /etc/init.d/nginx status nginx (pid 2454 2452) is running... [root@localhost ~]# vi /etc/rc.local
添加:
/etc/init.d/nginx start
重启电脑就会生效。
注意:脚本里面关于启动目录的,如果你的安装地址不一样,要进行修改。
负载均衡配置:
现有两部服务器:
192.168.137.197 (按照以上操作安装有nginx,作为转发机,虚拟机)
192.168.137.33 (无安装nginx,运行有测试用的web工程,虚拟机)
10.10.33.59 (无安装nginx,运行有测试用的web工程,本地电脑地址)
,运行有测试用的web工程
127.0.0.1 web_app
[root@a conf]# vi /usr/local/nginx/conf/nginx.conf
配置如下展示:
worker_processes 8;
pid /usr/local/nginx/nginx.pid;
worker_rlimit_nofile 102400;
events
{
use epoll;
worker_connections 102400;
}
http
{
include mime.types;
default_type application/octet-stream;
fastcgi_intercept_errors on;
charset utf-8;
server_names_hash_bucket_size 128;
client_header_buffer_size 4k;
large_client_header_buffers 4 32k;
client_max_body_size 300m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
client_body_buffer_size 512k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
###2012-12-19 change nginx logs
log_format main '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $request_time $remote_addr';
upstream web_app {
server 192.168.137.197:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.137.33:8080 weight=1 max_fails=2 fail_timeout=30s;
server 10.10.33.59:8080 weight=1 max_fails=2 fail_timeout=30s;
}
####chinaapp.sinaapp.com
server {
listen 80;
server_name chinaapp.sinaapp.com;
index index.jsp index.html index.htm;
#发布目录/data/www
root /data/www;
location /
{
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header host $host;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_pass http://web_app;
expires 3d;
}
}
}设置host:
[root@a conf]# vi /etc/hosts
添加hosts:
127.0.0.1 web_app
启动nginx
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
启动三部服务器的web应用:
在192.168.137.197执行指令:
[root@a program]# curl "http://web_app/index.jsp"
测试结果如下:
常见问题及解决办法:
1、安装pcre时提示configure: error: you need a c++ compiler for c++ support.
原因是没有安装c++编译器,采用下面的命令安装:
[root@localhost pcre-8.37]# yum install -y gcc gcc-c++
2、启动nginx失败
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf /usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: no such file or directory
原因是64bit的系统,但是默认取了/usr/local/lib里面的包
检查方法:
[root@localhost nginx]# cd /usr/local/ [root@localhost local]# ls /lib64/ |grep pcre libpcre.so.0 libpcre.so.0.0.1 [root@localhost local]# ls /lib/ |grep pcre
说明缺失的包在lib64
设置软连接来解决:
[root@localhost local]# ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1 [root@localhost local]# cd nginx [root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
3、启动报错:
报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: address already in use)
解决办法:sudo fuser -k 80/tcp
端口被占用,关闭占用端口
# centos
# nginx
# c语言
# 正则表达式
# for
# Error
# 负载均衡
# 报错
# 解决办法
# 是一个
# 就会
# 重启
# 装了
# 两部
# 连接到
# 没有安装
# 自动启动
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用Blade组件和插槽?(Component代码示例)
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
如何确认建站备案号应放置的具体位置?
IOS倒计时设置UIButton标题title的抖动问题
Swift中swift中的switch 语句
使用C语言编写圣诞表白程序
如何在Windows 2008云服务器安全搭建网站?
手机软键盘弹出时影响布局的解决方法
如何在阿里云通过域名搭建网站?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel如何发送系统通知?(Notification渠道示例)
如何在阿里云高效完成企业建站全流程?
Laravel如何使用Vite进行前端资源打包?(配置示例)
jQuery中的100个技巧汇总
Laravel如何使用.env文件管理环境变量?(最佳实践)
Laravel如何实现数据库事务?(DB Facade示例)
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
香港服务器部署网站为何提示未备案?
如何生成腾讯云建站专用兑换码?
Internet Explorer官网直接进入 IE浏览器在线体验版网址
Android 常见的图片加载框架详细介绍
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
创业网站制作流程,创业网站可靠吗?
网站图片在线制作软件,怎么在图片上做链接?
googleplay官方入口在哪里_Google Play官方商店快速入口指南
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
香港服务器建站指南:免备案优势与SEO优化技巧全解析
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Bootstrap CSS布局之列表
如何在建站宝盒中设置产品搜索功能?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
MySQL查询结果复制到新表的方法(更新、插入)
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
php485函数参数是什么意思_php485各参数详细说明【介绍】
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Angular 表单中正确绑定输入值以确保提交与验证正常工作
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
Linux系统运维自动化项目教程_Ansible批量管理实战
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
如何制作一个表白网站视频,关于勇敢表白的小标题?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Python函数文档自动校验_规范解析【教程】
如何在IIS中新建站点并配置端口与物理路径?
如何快速搭建虚拟主机网站?新手必看指南
Laravel怎么上传文件_Laravel图片上传及存储配置
js实现点击每个li节点,都弹出其文本值及修改
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理


oot@localhost ~]# vi /etc/rc.local