nginx部署lnmt架构
文章目录
1.环境准备说明
服务 | ip | 操作系统 |
---|---|---|
nginx+mysql+tomcat | 192.168.69.134 | centos7 |
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# setenforce 0
2.安装nginx
[[email protected] ~]# useradd -r -M -s /sbin/nologin nginx
[[email protected] ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++
[[email protected] ~]# yum -y groups mark install 'Development Tools'
[[email protected] ~]# mkdir -p /var/log/nginx
[[email protected] ~]# chown -R nginx.nginx /var/log/nginx
[[email protected] ~]# cd /usr/src/
[[email protected] src]# wget http://nginx.org/download/nginx-1.12.0.tar.gz
[[email protected] src]# tar xf nginx-1.12.0.tar.gz
[[email protected] src]# cd nginx-1.12.0
[[email protected] nginx-1.12.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-debug \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log
[[email protected] nginx-1.12.0]# make && make install
[[email protected] nginx-1.12.0]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[[email protected] nginx-1.12.0]# . /etc/profile.d/nginx.sh
[[email protected] nginx-1.12.0]# nginx
3.安装mysql
[[email protected] src]# tar xf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[[email protected] src]# cd /usr/local/
[[email protected] local]# ls
bin games lib libexec nginx share
etc include lib64 mysql-5.7.23-linux-glibc2.12-x86_64 sbin src
[[email protected] local]# ln -sv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql
"mysql" -> "mysql-5.7.23-linux-glibc2.12-x86_64/"
[[email protected] local]# groupadd -r mysql
[[email protected] local]# useradd -M -s /sbin/nologin -g mysql mysql
[[email protected] local]# chown -R mysql.mysql /usr/local/mysql
[[email protected] local]# ll /usr/local/mysql -d
lrwxrwxrwx. 1 mysql mysql 36 3月 7 14:39 /usr/local/mysql -> mysql-5.7.23-linux-glibc2.12-x86_64/
[[email protected] local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[[email protected] local]# . /etc/profile.d/mysql.sh
[[email protected] local]# echo $PATH
/usr/local/mysql/bin:/usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[[email protected] local]# mkdir /opt/data
[[email protected] local]# chown -R mysql.mysql /opt/data
[[email protected] local]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/opt/data/
2019-03-07T06:46:23.571655Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-03-07T06:46:23.572439Z 1 [Note] A temporary password is generated for [email protected]: bVloqFti)0#c //临时密码
cat > /etc/my.cnf <<EOF
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
EOF
[[email protected] local]# cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[[email protected] local]# vim /etc/init.d/mysqld
46 basedir=/usr/local/mysql
47 datadir=/opt/data
[[email protected] local]# service mysqld start
Starting MySQL.Logging to '/opt/data/qy-lnmt.err'.
SUCCESS!
4.tomcat安装
4.1安装Tomcat并且给第一个Tomcat创建测试网页
[[email protected] ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
[[email protected] ~]# java -version
openjdk version "1.8.0_201"
[[email protected] src]# ls
apache-tomcat-9.0.16.tar.gz kernels
[[email protected] src]# tar xf apache-tomcat-9.0.16.tar.gz -C /usr/local/
[[email protected] src]# cd /usr/local/
[[email protected] local]# ln -s apache-tomcat-9.0.16/ tomcat
[[email protected] ~]# vi index.jsp
[[email protected] ~]# cat index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("xfssb");
%>
</body>
</html>
[[email protected] ~]# mkdir /usr/local/tomcat/webapps/test
[[email protected] ~]# cp index.jsp /usr/local/tomcat/webapps/test/
[[email protected] ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[[email protected] ~]# ps -ef|grep tomcat
root 29893 1 0 15:22 pts/0 00:00:00 /bin/sh /usr/local/tomcat/bin/catalina.sh start
root 29894 29893 4 15:22 pts/0 00:00:03 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.propert
[[email protected] src]# cp -a apache-tomcat-9.0.16 /usr/local/apache-tomcat2
[[email protected] src]# ln -s /usr/local/apache-tomcat2/ /usr/local/tomcat/2
[[email protected] ~]# cd /usr/local/apache-tomcat2/conf/
[[email protected] conf]# pwd
/usr/local/apache-tomcat2/conf
[[email protected] conf]# vim server.xml
22行<Server port="8006" shutdown="SHUTDOWN"> 第一个端口
69行 <Connector port="8081" protocol="HTTP/1.1" 第二个端口
70 connectionTimeout="20000"
71 redirectPort="8443" />
115 <!-- Define an AJP 1.3 Connector on port 8010 --> 第三个端口
116 <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
先进入页面验证tomcat是否安装成功
4.2给第二个Tomcat创建测试网页
在/usr/local/apache-tomcat2/webapps/目录下新建test目录
[[email protected] ~]# cd /usr/local/apache-tomcat2/webapps/test/
[[email protected] test]# vim index.jsp
[[email protected] test]# cat index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println(" dmv ");
%>
</body>
[[email protected] webapps]# /usr/local/apache-tomcat2/bin/startup.sh
Using CATALINA_BASE: /usr/local/apache-tomcat2
Using CATALINA_HOME: /usr/local/apache-tomcat2
Using CATALINA_TMPDIR: /usr/local/apache-tomcat2/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/apache-tomcat2/bin/bootstrap.jar:/usr/local/apache-tomcat2/bin/tomcat-juli.jar
Tomcat started.
[[email protected] ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::*
LISTEN 0 1 ::ffff:127.0.0.1:8006 :::*
LISTEN 0 100 :::8009 :::*
LISTEN 0 100 :::8010 :::*
LISTEN 0 80 :::3306 :::*
LISTEN 0 100 :::8080 :::*
LISTEN 0 100 :::8081 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
4.3 三台服务整合,修改nginx配置文件,配置负载均衡和反向代理
[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf
27 sendfile on;
28 #tcp_nopush on;
29
30 #keepalive_timeout 0;
31 keepalive_timeout 65;
32
33 #gzip on;
34 upstream web.com { \\增加以下四行
35 server 192.168.69.134:8080;
36 server 192.168.69.134:8081;
37 }
38
39 server {
40 listen 80;
43 #charset koi8-r;
44
45 #access_log logs/host.access.log main;
46 增加以下三行
47 location ~* \.(jsp|do)$ {
48 proxy_pass http://web.com;
49 }
50 location / {
51 root html;
52 index index.html index.htm;
53 }
验证负载均衡是否成功
重启nginx
第一次
第二次网页测试