목차
1.1 gcc, gcc-c++ 설치
1.2 openssl 설치
1.3 pcre 설치
1.4 zlib 설치
1.5 Nginx 설치
1.5.1 Nginx 구성
1.5.2 Nginx 시작 및 종료
2.1 livevent 설치
2.2 Memcached 설치
2.2.1 설치 상태 확인
2.2.2 memcached 및 libevent 버전 정보 보기
2.2.3 memcached 시작
2.2.4使用telnet验证服务是否可用
2.2.5停止memcached服务
3.1安装Tomcat
3.2.2为Tomcat配置memcached
3.2.1为Tomcat添加库文件
3.2.3测试Session共享
4.1安装samba
4.2配置共享文件夹
4.3开启端口号
4.4关闭SELinux
4.5启动与停止服务
5.1卸载已安装的JDK
5.2配置Java环境变量
6.1卸载已安装的mysql
6.2安装mysql
6.3配置mysql
6.4启动mysql
6.5重设mysql密码(官网方法)
백엔드 개발 PHP 튜토리얼 Nginx Tomcat Memcached 로드 밸런싱 클러스터 서비스 구축

Nginx Tomcat Memcached 로드 밸런싱 클러스터 서비스 구축

Jul 29, 2016 am 09:15 AM
memcached mysql nginx sudo tomcat

转载请注明出处: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:与中的appBase一致,网站部署目录。

memcachedNodes:memcached服务器信息,多个服务器时,使用空格分开,如:

n1:127.0.0.1:12001 n2:127.0.0.1:12002  n3:127.0.0.1:12003

配置文件如下图所示:

 

还有在server.xml中配置节点的appBase="部署目录"

 

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教程有兴趣的朋友有所帮助。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

nginx가 시작되었는지 확인하는 방법 nginx가 시작되었는지 확인하는 방법 Apr 14, 2025 pm 01:03 PM

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

Windows에서 nginx를 구성하는 방법 Windows에서 nginx를 구성하는 방법 Apr 14, 2025 pm 12:57 PM

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

nginx가 시작되었는지 확인하는 방법은 무엇입니까? nginx가 시작되었는지 확인하는 방법은 무엇입니까? Apr 14, 2025 pm 12:48 PM

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

Linux에서 Nginx를 시작하는 방법 Linux에서 Nginx를 시작하는 방법 Apr 14, 2025 pm 12:51 PM

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

Nginx의 실행 상태를 확인하는 방법 Nginx의 실행 상태를 확인하는 방법 Apr 14, 2025 am 11:48 AM

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

nginx 서버를 시작하는 방법 nginx 서버를 시작하는 방법 Apr 14, 2025 pm 12:27 PM

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에 액세스 할 수 있습니다.

nginx304 오류를 해결하는 방법 nginx304 오류를 해결하는 방법 Apr 14, 2025 pm 12:45 PM

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

nginx403 오류를 해결하는 방법 nginx403 오류를 해결하는 방법 Apr 14, 2025 pm 12:54 PM

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

See all articles