Nginx Tomcat Memcached 로드 밸런싱 클러스터 서비스 구축
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48289765
운영 체제: CentOS6.5
이 문서에서는 주로 Nginx가 로드 밸런싱을 담당하고 Tomcat이 담당하는 Nginx+Tomcat+Memcached 로드 밸런싱 클러스터 서버를 구축하는 방법을 설명합니다. 실제 서비스를 위해 Memcached는 세션 공유 목적을 달성하기 위해 Tomcat의 세션을 동기화하는 역할을 담당합니다.
1. Nginx 설치
Nginx 공식 홈페이지: http://nginx.org/
최신 안정 버전을 다운로드하세요. Nginx를 설치하기 전에 gcc, openssl, pcre 및 zlib 소프트웨어 라이브러리를 설치해야 합니다.
1.1 gcc, gcc-c++ 설치
설치 명령:
#sudo yum install gcc # sudo yum install gcc-c++
1.2 openssl 설치
openssl 공식 홈페이지: http://www.openssl.org/
설치 버전: openssl-1.0.1i.tar.gz
설치 명령:
#tar -zxvf openssl-1.0.1i.tar.gz #cd openssl-1.0.1i #sudo ./config --prefix=/usr/local/openssl-1.0.1i #prefix指定安装目录 #sudo make #sudo make install
[ 참고 ]: 여기에서는 일반적인 구성 명령 대신 config 명령이 사용됩니다.
설치가 완료된 후 /usr/local/로 이동하여 설치가 성공했는지 확인하세요. 설치 오류가 발생하면 다시 압축하여 재설치해야 합니다.
1.3 pcre 설치
pcre 공식 홈페이지: http://www.pcre.org/
설치 버전: pcre-8.35.tar.gz
설치 명령어 :
#tar -zxvf pcre-8.35.tar.gz #cd pcre-8.35 #sudo ./configure --prefix=/usr/local/pcre-8.35 #prefix指定安装目录 #sudo make #sudo make install
설치가 완료된 후 /usr/local/에 접속하여 설치 성공 여부를 확인하세요. 설치 오류가 발생하면 다시 압축하여 재설치해야 합니다.
[참고]: C++ 컴파일러가 설치되지 않은 경우 이 소프트웨어를 설치하면 오류가 보고됩니다!
1.4 zlib 설치
zlib 공식 홈페이지: http://www.zlib.net/
설치 버전: zlib-1.2.8.tar.gz
설치 명령:
#tar -zxvf zlib-1.2.8.tar.gz #cd zlib-1.2.8 #sudo ./configure --prefix=/usr/local/zlib-1.2.8 #prefix指定安装目录 #sudo make #sudo make install
설치가 완료된 후 /usr/local/로 이동하여 설치 성공 여부를 확인하세요. 설치 오류가 발생하면 다시 압축하여 재설치해야 합니다.
1.5 Nginx 설치
설치 버전: nginx-1.6.1.tar.gz
설치 명령:
#tar -zxvf nginx-1.6.1.tar.gz #cd nginx-1.6.1 #sudo ./configure --prefix=/usr/local/nginx-1.6.1 #prefix指定安装目录 --with-openssl=/home/zht/src/openssl-1.0.1i #指的是openssl源码路径 --with-pcre=/home/zht/src/pcre-8.3.5 #指的是pcre的源码路径 --with-zlib=/home/zht/src/zlib-1.2.8 #指的是zlib 的源码路径 --with-http_ssl_module #sudo make #make install
설치 완료 후 , /usr/local/에서 설치 성공 여부 확인으로 이동합니다. 설치 오류가 발생하면 다시 압축하여 재설치해야 합니다.
1.5.1 Nginx 구성
구성 파일 디렉터리: /usr/local/nginx-1.6.1/conf/nginx.conf
# cd /usr/local/nginx-1.6.1/conf # sudo vi nginx.conf
[수정된 구성 파일은 다음과 같습니다]:
#创建进程的用户和用户组 user zht zht; #服务进程数量,一般等于CPU数量 worker_processes 1; #全局错误日志定义,建议开启error级别日志.[ debug | info | notice | warn | error | crit ] error_log logs/error.log error; #error_log logs/error.log notice; #error_log logs/error.log info; #记录进程ID的文件 #pid logs/nginx.pid; events { #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能.Linux建议使用epoll,FreeBSD建议使用kqueue. useepoll; #一个worker_processe允许的最近并发连接数量 worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local]"$request" ' # '$status $body_bytes_sent"$http_referer" ' # '"$http_user_agent""$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #http连接的持续时间 keepalive_timeout 65; #gzip压缩设置 gzip on; #开启gzip gzip_min_length 1k; #最小压缩文件大小 gzip_buffers 4 16k; #压缩缓冲区 #http的协议版本(1.0/1.1),默认1.1,前端如果是squid2.5请使用1.0 gzip_http_version 1.1; #gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu) gzip_comp_level 2; #和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩 gzip_varyon; #gzip压缩类型,不用添加text/html,否则会有警告信息 gzip_types text/plain text/javascript text/css application/xmlapplication/x-javascript application/json; #设定负载均衡的服务器列表,可以设置多个upstream,但mysvr名字要区分 upstreammyClusterServer1 { #weigth参数表示权值,权值越高被分配到的几率越大 #本机上的Squid开启3128端口 server 127.0.0.1:8081 weight=5; server 127.0.0.1:8082 weight=5; server 127.0.0.1:8083 weight=5; } server { #nginx监听的端口号 listen 80; #域名可以有多个,用空格隔开 server_name 127.0.0.1; #字符编码方式 charset utf-8; #设定本虚拟主机的访问日志。关闭日志可以减少IO,提高性能。 #access_log logs/host.access.log main; #默认请求 location / { #定义服务器的默认网站根目录位置 root html; #定义首页索引文件的名称 index index.html index.htmindex.jsp; #请求转向mysvr 定义的服务器列表 proxy_pass http://myClusterServer1; proxy_redirect default; #跟代理服务器连接的超时时间,必须留意这个time out时间不能超过75秒,当一台服务器当掉时,过10秒转发到另外一台服务器。 proxy_connect_timeout 10; } #error_page 404 /404.html; #redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } #proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} #deny access to .htaccess files, if Apache's document root #concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # anothervirtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPSserver # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
1.5.2 Nginx 시작 및 종료
(1) 시작
# sudo /usr/local/nginx-1.6.1/sbin/nginx
시스템의 포트 80이 다른 프로그램에 의해 사용되고 있지 않은지 확인하세요
다시 시작:
# sudo /usr/local/nginx-1.6.1/sbin/nginx -s reload
(2) 닫기:
ps -ef | grep nginx
주 프로세스 ID를 찾아 종료합니다. 예:
# kill -9 [进程号]
(3) 시동 성공 여부 확인:
netstat -ano | grep80
결과가 입력되면 시동 성공을 의미합니다.
브라우저에 이 컴퓨터의 IP에 액세스합니다. 브라우저에 Welcome to nginx!가 표시되면 Nginx가 성공적으로 설치되고 실행되었음을 나타냅니다. 로드 밸런싱 서버가 구성되면 아래와 같이 Tomcat에 웹 사이트 페이지가 표시됩니다.
2. Memcache 설치
Memcached 공식 홈페이지: http://memcached.org/
memcached를 설치하려면 먼저 libevent를 설치해야 합니다. libevent 공식 홈페이지: http://libevent.org/
이 설치 버전:
memcached-1.4.20.tar.gz
libevent-2.0.21-stable.tar.gz
2.1 livevent 설치
설치 여부 확인: # rpm qa | grep libevent
설치되어 있고 버전이 1.3 미만인 경우 먼저 다음을 통해 제거하세요.
# rpm -e libevent --nodeps
.
# tar zxvf libevent-2.0.21-stable.tar.gz # cd libevent-2.0.21-stable # sudo ./configure --prefix=/usr/local/libevent-2.0.21-stable #prefix指定安装路径 # sudo make # sudo make install
설치가 완료되면 아래 그림과 같이 prefix에 지정된 디렉터리로 이동하여 libevent-2.0.21-stable 디렉터리가 있는지 확인합니다.
2.2 Memcached 설치
# tar zxvf memcached-1.4.20.tar.gz # cd memcached-1.4.20 # sudo ./configure --prefix=/usr/local/memcached-1.4.20 --with-libevent=/usr/local/libevent-2.0.21-stable # sudo make # sudo make install
2.2.1 설치 상태 확인
설치 후 완료되면 아래 그림과 같이 prefix에 지정된 디렉터리로 이동하여 memcached-1.4.20 디렉터리가 있는지 확인합니다.
2.2.2 memcached 및 libevent 버전 정보 보기
먼저 Memcached의 bin 디렉터리를 찾습니다.
# cd /usr/local/memcached-1.4.20/bin
실행 명령:
# sudo ./memcached -i
2.2.3 memcached 시작
# sudo ./memcached -d -v -p 12000 -m 512 -u zht
설명: -d는 데몬 모드에서 memcached를 실행함을 의미합니다. -v는 출력 추출 및 오류 정보를 의미합니다. -p는 수신 포트 번호를 지정합니다. -m은 사용할 수 있는 최대 메모리를 MB 단위로 지정합니다. , 루트가 아닌 사용자.
# ps -ef | grep memcached를 사용하여 프로세스를 확인하세요.
기본 옵션에 집중: |
지침 |
-p |
수신 대기 TCP 포트(기본값: 11211) |
-d |
데몬 모드에서 memcached 실행 |
-u |
运行memcached的账户,非root用户 |
-m |
最大的内存使用,单位是MB,缺省是 64 MB |
-c |
软连接数量,缺省是1024(最大并发连接数) |
-v |
输出警告和错误信息 |
-vv |
打印客户端的请求和返回信息 |
-h |
打印帮助信息 |
-i |
打印memcached和libevent的版权信息 |
2.2.4使用telnet验证服务是否可用
Win7安装telnet:控制面板-> 程序和功能->打开或安装Windows功能->勾选Telnet服务端、Telnet客户端。
CentOS安装telnet客户端:
# sudo yum install telnet
Windows命令:
CentOS(Linux)下命令:
# telnet 127.0.0.1 12000
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
连接成功后,手动输入命令:stats
即可看到如下信息:
手动输入:quit //退出
Connection closed by foreign host
2.2.5停止memcached服务
# ps -ef | grep memcached
找到memcached进程ID号,然后强制杀死:
kill - 9 2439
3.安装Tomcat+配置memcached
Tomcat官网:http://tomcat.apache.org/
3.1安装Tomcat
本次使用Tomcat版本:apache-tomcat-7.0.55.tar.gz
将Tomcat解压到任意目录下。
3.2为Tomcat配置memcached
3.2.1为Tomcat添加库文件
Tomcat要支持memcached管理Session,需要调用一些jar库文件:
添加mem和msm的依赖jar包: |
couchbase-client-1.2.2.jar javolution-5.4.3.1.jar kryo-1.03.jar kryo-serializers-0.10.jar memcached-session-manager-1.6.5.jar memcached-session-manager-tc6-1.6.5.jar minlog-1.2.jar msm-kryo-serializer-1.6.5.jar reflectasm-0.9.jar spymemcached-2.10.2.jar |
【注意】:
msm1.6.5依赖了Couchbase,需要添加couchbase-client的jar包,否则启动会报:java.lang.NoClassDefFoundError:com/couchbase/client/CouchbaseClient。
Tomcat6和Tomcat7使用不同msm支持包:memcached-session-manager-tc6-1.6.5.jar和memcached-session-manager-tc7-1.6.5.jar,只可选一,否则启动报错。
msm源码中的lib包版本太低:spymemcached需要使用2.10.2,否则启动tomcat报错:
java.lang.NoSuchMethodError:net.spy.memcached.MemcachedClient.set(Ljava/lang/String;ILjava/lang/Object;)Lnet/spy/memcached/internal/OperationFuture;
atde.javakaffee.web.msm.BackupSessionTask.storeSessionInMemcached(BackupSessionTask.java:227)
kryo-serializers需要使用0.10版本,否则报错:
Caused by:java.lang.ClassNotFoundException: de.javakaffee.kryoserializers.DateSerializer
部分文件下载地址:http://code.google.com/p/memcached-session-manager/downloads/list
其他的文件自己找。
下载后,将这些库文件放到tomcat\lib目录下。
3.2.2为Tomcat配置memcached
配置文件目录:tomcat\conf\context.xml
打开配置文件,在
<ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:127.0.0.1:12000" requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico|jpeg|htm|html)$" sessi sessi copyCollecti transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>
【参数说明】:
docBase:与
memcachedNodes:memcached服务器信息,多个服务器时,使用空格分开,如:
n1:127.0.0.1:12001 n2:127.0.0.1:12002 n3:127.0.0.1:12003
配置文件如下图所示:
还有在server.xml中配置
3.2.3测试Session共享
测试JSP代码如下:index.jsp
同时启动多个Tomcat,我部署了3个,打开浏览器去访问第一个Tomcat,然后在访问第二个和第三个Tomcat,页面Session信息如下:
由图可以看到,三个Tomcat的SessionID都是一样的:5FBF6D6B6F37BE8248ED965536427005-n1,只要不关闭浏览器,不管怎么刷新,SessionID都是不变了。由此可以,三个Tomcat通过memcached实现了Session信息共享。
4.安装Samba共享文件服务
查看是否已经安装samba:
# rpm -qa | grep samba
4.1安装samba
使用网络安装快速方便,命令如下:
# sudo yum install samba samba-client
4.2配置共享文件夹
(1)修改配置文件:
# sudo vi /etc/samba/smb.conf
[SharedFolder]
path = /home/zht/SharedFolder #共享目录的路径 writeable = yes #是否允许写 browsable = yes #是否允许以浏览目录内容 valid user = zht #访问目录的账户名
(2)添加账户
添加zht账户:
# sudosmbpasswd -a zht
按照提示输出访问密码。
4.3开启端口号
Port 137 (UDP) --NetBIOS name server and nmbd Port 138 (UDP) --NetBIOS datagram service Port 139 (TCP) --File and printer sharing and smbd Port 389 (TCP) --for LDAP(Active Directory Mode) Port 445 (TCP) --NetBIOS was moved to 445 after 2000 and beyond(CIFS) Port 901 (TCP) --for SWAT
(1) CentOS使用图形化添加端口号:sudo setup;
(2) 使用以下命令开启:
# iptables -I INPUT -p udp --dport [端口号] -j ACCEPT # iptables -I INPUT -p tcp --dport [端口号] -j ACCEPT
保存:
# sudo service iptables save
4.4关闭SELinux
查看状态:
# getenforce
关闭:
# setenforce 0
SELinux几种状态:
enforcing:强制模式,代表SELinux运行中且正确限制;
permissive:宽容模式,代表SELinux运行中,不过仅有警告信息,并不实际限制;
disable:关闭,SELinux未运行。
永久关闭方法:
# sudo vi /etc/selinux/config # SELINUX = enforcing 注释掉 # SELINUXTYPE = targeted 注释掉
在末尾添加一行:
SELINUX = disable
保存关闭:
:wq
重启系统
4.5启动与停止服务
(1)查看运行状态:
# sudo service smb status
(2)启动和停止服务:
# sudo /etc/init.d/smb start/stop/restart
或者
# sudo service smb start/stop/restart
(3)设置开启启动:
# sudo chkconfig --level 35 smb on
在3,5级别上自动运行smb服务
(4)验证服务
# smbclient -L //192.168.101.249 -U rxyy
或者
# smbclient //192.168.101.249/sharedFolder -U rxyy
5安装配置JDK
本次使用JDK版本为:jdk-7u60-linux-x64.tar.gz
5.1卸载已安装的JDK
查看已经安装的JDK
# rpm -qa | grep jdk*
卸载JDK:
# sudo yum -y remove [包名]
如下图所示:
安装新的JDK:将jdk-7u60-linux-x64.tar.gz解压缩到指定目录下即可。
5.2配置Java环境变量
# sudo vi /etc/profile
在末尾添加:
#JDK
exportJAVA_HOME=/home/zht/BalanceServer/Java/jdk1.7.0_60 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$CLASSPATH:.:$JRE_HOME/lib:$JAVA_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
如下图所示:
6安装MySQL数据库
6.1卸载已安装的mysql
查看已经安装的mysql数据库:
# rpm -qa | grep mysql
卸载已安装的mysql数据库:
# rpm -e [包名] //普通卸载,可能因为依赖无法卸载 # rpm -e --nodeps [包名] //强制卸载,有依赖也能卸载
或者
# yum -y remove [包名] //卸载时自动处理依赖
6.2安装mysql
安装MySQL数据库需要安装4个组件:mysql--shared-compat 、mysql-server、mysql-client和mysql-workbench,安装方法如下。
(1)安装mysql共享库:
# rpm -ivh MySQL-shared-compat-5.6.20-1.el6.x86_64.rpm
(2)安装mysql服务端::
# rpm -ivh MySQL-server-5.6.20-1.el6.x86_64.rpm
(3)安装mysql客户端:
# rpm -ivh MySQL-client-5.6.20-1.el6.x86_64.rpm
(4)安装mysql-workbench工具:
# rpm -ivh mysql-workbench-community-6.1.7-1.el6.x86_64.rpm
【说明】:RPM安装包,在CentOS下可以直接双击运行安装,系统会自动处理依赖。
另附:yum安装方法
查看yum上可安装的版本:
# yumlist | grep mysql
安装:
# yum install -y mysql-server mysql mysql-devel
6.3配置mysql
配置文件目录:
/usr/my.cnf或者/etc/mysql/my.cnf
打开文件后,在[mysqld]后面添加如下配置:
#字符编码
character-set-server=utf-8
#存储引擎
default-storage-engine=INNODB innodb_flush_log_at_trx_commit=2
#缓冲池
innodb_additi innodb_buffer_pool_size=1024M
#最大连接数
max_c/pre><p>#允许的最大包大小(例如一个Blob字段)</p><p></p><pre name="code">max_allowed_packet=16M
6.4启动mysql
(1)启动mysql:
# sudo service mysql start/stop/restart
或
# sudo /etc/rc.d/init.d/mysql start/stop/restart
(或 # sudo /etc/rc.d/init.d/mysqld start/stop/restart)
启动mysql出错时,请到/var/liv/mysql/xxx.err查看错误信息。
(2)登录MySQL
# mysql -u root -p # 输入密码 # mysql> show databases; # mysql> show variables like '%character_set%' # mysql> ...
(3)创建远程连接用户
启用sxzl用户在本地(localhost)的登录权限,密码hymmldr.
# mysql> grant all privileges on *.* tosxzl@localhost identified by 'hymmldr.' with grant option;
启用sxzl用户远程(%)登录权限,密码hymmldr.
# mysql> grant all privileges on *.* to sxzl@"%"identified by 'hymmldr.' with grant option;
刷新权限
# mysql> flush privileges;
第一次安装需要重设mysql密码,详见如下。
6.5重设mysql密码(官网方法)
启动mysql,然后执行如下命令:
# ps -ef | grep -i mysql
查看mysqld_safe的路径,例如:/usr/bin/mysqld_safe
停止mysql,然后以安全方式启动mysql:
# sudo /usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
5秒钟后执行:
# sudo /usr/bin/mysql -u root mysql
重设root用户的密码:
# mysql> update user SET PASSWORD=PASSWORD('root')where user='root'
刷新权限
# mysql> flush privileges; # mysql> exit;
接着再次登录mysql:
# mysql -u root -p
# 输入密码
然后执行:
# mysql> show databases;
报错:You must SET PASSWORD before executing thisstatement.
解决办法,重设一次密码:
# mysql> SET PASSWORD=PASSWORD('root'); # mysql> flush privileges;
设置完毕后,就可以打开mysql-workbench连接到数据库了。
7命令说明:yum
yum安装选项说明:
yum -y install 包名(支持*) :自动选择y,全自动 yum install 包名(支持*) :手动选择y or n yum -y remove [package name] :自动处理依赖 yum remove 包名(不支持*) rpm -ivh 包名(支持*):安装rpm包
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了Nginx+Tomcat+Memcached负载均衡集群服务搭建,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

Windows에서 Nginx를 구성하는 방법은 무엇입니까? nginx를 설치하고 가상 호스트 구성을 만듭니다. 기본 구성 파일을 수정하고 가상 호스트 구성을 포함하십시오. 시작 또는 새로 고침 Nginx. 구성을 테스트하고 웹 사이트를보십시오. SSL을 선택적으로 활성화하고 SSL 인증서를 구성하십시오. 포트 80 및 443 트래픽을 허용하도록 방화벽을 선택적으로 설정하십시오.

Linux에서는 다음 명령을 사용하여 nginx가 시작되었는지 확인하십시오. SystemCTL 상태 Nginx 판사 명령 출력에 따라 : "active : running"이 표시되면 Nginx가 시작됩니다. "Active : 비활성 (죽음)"이 표시되면 Nginx가 중지됩니다.

Linux에서 Nginx를 시작하는 단계 : Nginx가 설치되어 있는지 확인하십시오. systemctl start nginx를 사용하여 nginx 서비스를 시작하십시오. SystemCTL을 사용하여 NGINX를 사용하여 시스템 시작시 NGINX의 자동 시작을 활성화하십시오. SystemCTL 상태 nginx를 사용하여 시작이 성공했는지 확인하십시오. 기본 환영 페이지를 보려면 웹 브라우저의 http : // localhost를 방문하십시오.

nginx의 실행 상태를 보는 방법은 다음과 같습니다. PS 명령을 사용하여 프로세스 상태를보십시오. nginx 구성 파일 /etc/nginx/nginx.conf를 봅니다. Nginx 상태 모듈을 사용하여 상태 끝점을 활성화하십시오. Prometheus, Zabbix 또는 Nagios와 같은 모니터링 도구를 사용하십시오.

Nginx 서버를 시작하려면 다른 운영 체제에 따라 다른 단계가 필요합니다. Linux/Unix System : Nginx 패키지 설치 (예 : APT-Get 또는 Yum 사용). SystemCTL을 사용하여 nginx 서비스를 시작하십시오 (예 : Sudo SystemCtl start nginx). Windows 시스템 : Windows 바이너리 파일을 다운로드하여 설치합니다. nginx.exe 실행 파일을 사용하여 nginx를 시작하십시오 (예 : nginx.exe -c conf \ nginx.conf). 어떤 운영 체제를 사용하든 서버 IP에 액세스 할 수 있습니다.

질문에 대한 답변 : 304 수정되지 않은 오류는 브라우저가 클라이언트 요청의 최신 리소스 버전을 캐시했음을 나타냅니다. 솔루션 : 1. 브라우저 캐시를 지우십시오. 2. 브라우저 캐시를 비활성화합니다. 3. 클라이언트 캐시를 허용하도록 nginx를 구성합니다. 4. 파일 권한을 확인하십시오. 5. 파일 해시를 확인하십시오. 6. CDN 또는 리버스 프록시 캐시를 비활성화합니다. 7. nginx를 다시 시작하십시오.

서버는 요청 된 리소스에 액세스 할 수있는 권한이 없으므로 Nginx 403 오류가 발생합니다. 솔루션에는 다음이 포함됩니다. 파일 권한 확인 권한을 확인하십시오. .htaccess 구성을 확인하십시오. nginx 구성을 확인하십시오. Selinux 권한을 구성하십시오. 방화벽 규칙을 확인하십시오. 브라우저 문제, 서버 장애 또는 기타 가능한 오류와 같은 다른 원인을 해결하십시오.
