环境准备:
准备虚拟机 | ||
---|---|---|
版本:CentOS7.7 | 主机IP:192.168.124.5 | 主机名:nginx-mysql |
版本:CentOS7.7 | 主机IP:192.168.124.14 | 主机名:tomcat |
环境简述:
两台虚拟机,一台为 nginx+mysql服务器,另一台为Tomcat服务器。客户端发来请求,先由nginx处理,
若为静态内容则由nginx响应,并将结果发送给客户端;若为动态内容,则由nginx反代至后端的Tomcat服务器。
默认两台主机 已关闭防火墙、关闭SELINUX、时间同步
在主机 nginx-mysql 上进行操作:
#创建系统用户 nginx
[root@nginx-mysql ~]# useradd -r -M -s /sbin/nologin nginx
#安装依赖包
[root@nginx-mysql ~]# yum -y install pcre-devel openssl openssl-devel gd-devel
[root@nginx-mysql ~]# yum -y groups install 'Development Tools'
#创建nginx日志存放目录
[root@nginx-mysql ~]# mkdir -p /var/log/nginx
[root@nginx-mysql ~]# chown -R nginx.nginx /var/log/nginx/
#下载nginx并进行编译安装
[root@nginx-mysql ~]# cd /usr/src/
[root@nginx-mysql src]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root@nginx-mysql src]# tar xf nginx-1.16.1.tar.gz
[root@nginx-mysql src]# ls
debug kernels nginx-1.16.1 nginx-1.16.1.tar.gz
[root@nginx-mysql src]# cd nginx-1.16.1/
[root@nginx-mysql nginx-1.16.1]#
./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
[root@nginx-mysql nginx-1.16.1]# echo $?
0
[root@nginx-mysql nginx-1.16.1]# make && make install
#配置环境变量
[root@nginx-mysql nginx-1.16.1]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@nginx-mysql nginx-1.16.1]# . /etc/profile.d/nginx.sh
#启动nginx并查看端口
[root@nginx-mysql nginx-1.16.1]# nginx
[root@nginx-mysql nginx-1.16.1]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 16599 root 6u IPv4 32390 0t0 TCP *:http (LISTEN)
nginx 40615 nginx 6u IPv4 32390 0t0 TCP *:http (LISTEN)
主机 nginx-mysql 上继续进行操作:
#安装mysql相关依赖包
[root@nginx-mysql ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel
#创建mysql用户和组
[root@nginx-mysql ~]# groupadd -r -g 666 mysql
[root@nginx-mysql ~]# useradd -M -s /sbin/nologin -g 666 -u 666 mysql