Rumah Operasi dan penyelenggaraan Nginx Cara memasang pelayan nginx dan konfigurasi pengimbangan beban dalam persekitaran CentOS6.5

Cara memasang pelayan nginx dan konfigurasi pengimbangan beban dalam persekitaran CentOS6.5

May 14, 2023 pm 07:40 PM
centos nginx

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

7、启动nginx

[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
Salin selepas log masuk
Salin selepas log masuk

8、测试

在确保可以连接到服务器的电脑上,浏览器输入装了nginx的机器的ip地址,会看到welcome to nginx!的提示说明安装配配置成功了。

Cara memasang pelayan nginx dan konfigurasi pengimbangan beban dalam persekitaran CentOS6.5

9、设置开机自动启动(shell脚本处理)

[root@localhost logs]# vi /etc/init.d/nginx
Salin selepas log masuk

添加以下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
Salin selepas log masuk

保存后,设置权限让所有人可以操作。

[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
Salin selepas log masuk

添加:

/etc/init.d/nginx start
Salin selepas log masuk

重启电脑就会生效。

注意:脚本里面关于启动目录的,如果你的安装地址不一样,要进行修改。

负载均衡配置:

现有两部服务器:

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
Salin selepas log masuk

配置如下展示:

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;
  }
 }
}
Salin selepas log masuk

设置host:

[root@a conf]# vi /etc/hosts
Salin selepas log masuk

添加hosts:

127.0.0.1 web_app
Salin selepas log masuk

启动nginx

[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
Salin selepas log masuk
Salin selepas log masuk

启动三部服务器的web应用:

在192.168.137.197执行指令:

[root@a program]# curl "http://web_app/index.jsp"
Salin selepas log masuk

测试结果如下:

Cara memasang pelayan nginx dan konfigurasi pengimbangan beban dalam persekitaran CentOS6.5

常见问题及解决办法:

1、安装pcre时提示configure: error: you need a c++ compiler for c++ support.

原因是没有安装c++编译器,采用下面的命令安装:

[root@localhost pcre-8.37]# yum install -y gcc gcc-c++
Salin selepas log masuk

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
Salin selepas log masuk

原因是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
Salin selepas log masuk

说明缺失的包在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
Salin selepas log masuk

3、启动报错:

报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: address already in use)

解决办法:sudo fuser -k 80/tcp

端口被占用,关闭占用端口

Atas ialah kandungan terperinci Cara memasang pelayan nginx dan konfigurasi pengimbangan beban dalam persekitaran CentOS6.5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Mengoptimumkan Konfigurasi CentOS HDFS Cara Mengoptimumkan Konfigurasi CentOS HDFS Apr 14, 2025 pm 07:15 PM

Meningkatkan prestasi HDFS pada CentOS: Panduan Pengoptimuman Komprehensif untuk mengoptimumkan HDFS (Hadoop diedarkan sistem fail) pada CentOS memerlukan pertimbangan komprehensif perkakasan, konfigurasi sistem dan tetapan rangkaian. Artikel ini menyediakan satu siri strategi pengoptimuman untuk membantu anda meningkatkan prestasi HDFS. 1. Perkakasan Peningkatan dan Pemilihan Pengembangan Sumber: Meningkatkan kapasiti CPU, memori dan penyimpanan pelayan sebanyak mungkin. Perkakasan berprestasi tinggi: Mengadopsi kad rangkaian berprestasi tinggi dan suis untuk meningkatkan rangkaian rangkaian. 2. Konfigurasi Sistem Fine-Tuning Parameter Parameter Kernel: Modify /etc/sysctl.conf Fail untuk mengoptimumkan parameter kernel seperti nombor sambungan TCP, nombor pemegang fail dan pengurusan memori. Sebagai contoh, laraskan status sambungan TCP dan saiz penampan

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

CentOS berhenti penyelenggaraan 2024 CentOS berhenti penyelenggaraan 2024 Apr 14, 2025 pm 08:39 PM

CentOS akan ditutup pada tahun 2024 kerana pengedaran hulu, RHEL 8, telah ditutup. Penutupan ini akan menjejaskan sistem CentOS 8, menghalangnya daripada terus menerima kemas kini. Pengguna harus merancang untuk penghijrahan, dan pilihan yang disyorkan termasuk CentOS Stream, Almalinux, dan Rocky Linux untuk memastikan sistem selamat dan stabil.

Baris arahan shutdown centos Baris arahan shutdown centos Apr 14, 2025 pm 09:12 PM

Perintah shutdown CentOS adalah penutupan, dan sintaks adalah tutup [pilihan] [maklumat]. Pilihan termasuk: -h menghentikan sistem dengan segera; -P mematikan kuasa selepas penutupan; -r mulakan semula; -T Waktu Menunggu. Masa boleh ditentukan sebagai segera (sekarang), minit (minit), atau masa tertentu (HH: mm). Maklumat tambahan boleh dipaparkan dalam mesej sistem.

Cara Memeriksa Konfigurasi HDFS CentOS Cara Memeriksa Konfigurasi HDFS CentOS Apr 14, 2025 pm 07:21 PM

Panduan Lengkap untuk Memeriksa Konfigurasi HDFS Dalam Sistem CentOS Artikel ini akan membimbing anda bagaimana untuk memeriksa konfigurasi dan menjalankan status HDFS secara berkesan pada sistem CentOS. Langkah -langkah berikut akan membantu anda memahami sepenuhnya persediaan dan operasi HDFS. Sahkan Pembolehubah Alam Sekitar Hadoop: Pertama, pastikan pembolehubah persekitaran Hadoop ditetapkan dengan betul. Di terminal, laksanakan arahan berikut untuk mengesahkan bahawa Hadoop dipasang dan dikonfigurasi dengan betul: Hadoopversion Semak fail konfigurasi HDFS: Fail konfigurasi teras HDFS terletak di/etc/hadoop/conf/direktori, di mana core-site.xml dan hdfs-site.xml adalah kritikal. gunakan

Apakah salah faham yang biasa dalam konfigurasi CentOS HDFS? Apakah salah faham yang biasa dalam konfigurasi CentOS HDFS? Apr 14, 2025 pm 07:12 PM

Masalah dan penyelesaian biasa untuk konfigurasi sistem fail diedarkan Hadoop (HDFS) di bawah CentOS Apabila membina kluster HadoophDFS di CentOS, beberapa kesilapan biasa boleh menyebabkan kemerosotan prestasi, kehilangan data dan juga kelompok tidak dapat dimulakan. Artikel ini meringkaskan masalah umum dan penyelesaian mereka untuk membantu anda mengelakkan perangkap ini dan memastikan kestabilan dan operasi yang cekap dari kelompok HDFS anda. Ralat Konfigurasi Rack-Aware: Masalah: Maklumat yang menyedari rak tidak dikonfigurasi dengan betul, mengakibatkan pengagihan replika blok data yang tidak sekata dan peningkatan beban rangkaian. Penyelesaian: Semak semula konfigurasi rak-aware dalam fail hdfs-site.xml dan gunakan hdfsdfsadmin-printtopo

Cara Memulakan Bekas oleh Docker Cara Memulakan Bekas oleh Docker Apr 15, 2025 pm 12:27 PM

Docker Container Startup Langkah: Tarik Imej Bekas: Run "Docker Pull [Mirror Name]". Buat bekas: Gunakan "Docker Buat [Pilihan] [Nama Mirror] [Perintah dan Parameter]". Mulakan bekas: Jalankan "Docker Start [Nama Container atau ID]". Semak Status Kontena: Sahkan bahawa bekas sedang berjalan dengan "Docker PS".

CentOS memasang MySQL CentOS memasang MySQL Apr 14, 2025 pm 08:09 PM

Memasang MySQL pada CentOS melibatkan langkah -langkah berikut: Menambah sumber MySQL YUM yang sesuai. Jalankan YUM Pasang Perintah MySQL-Server untuk memasang pelayan MySQL. Gunakan perintah mysql_secure_installation untuk membuat tetapan keselamatan, seperti menetapkan kata laluan pengguna root. Sesuaikan fail konfigurasi MySQL seperti yang diperlukan. Tune parameter MySQL dan mengoptimumkan pangkalan data untuk prestasi.

See all articles