Centos7 安装配置 Nginx、MySql、Redis 的运行环境

本文主要讲诉了如何搭建服务器环境及相关配置。html

阅读本文大约须要 6 分钟。node

背景

如今的Java项目大多不仅仅采用一个应用服务器(如:Tomcat、Apatch等) 来部署,可能有不少项目须要部署可是80端口只有一个,也有可能有项目是单个应用服务器没法承载的,须要用到负载均衡的等等状况,这里咱们可使用 Nginx 反向代理服务器来完成,所须要的环境为:Nginx、Mysql、JDK等。mysql

Nginx 安装及配置

介绍

Nginx 在维基百科和百度百科中的定义为:异步框架的网页服务器,也能够用做反向代理、负载平衡器和HTTP缓存。他的优势有不少,什么高并发,模块化,性能好等等这里就很少介绍了。nginx

安装

安装方式

安装 Nginx 主要有两种方式,一种是经过 yum 源直接安装,另外一种是经过编译安装。c++

1、yum 源安装的优势:正则表达式

  • 安装方式简单,不易出错;
  • 能够经过系统服务命令 service 来启动或中止;

缺点:redis

  • 不能指定安装目录
  • 没法指定安装模块

2、编译安装的优势:算法

  • 可指定安装目录
  • 可灵活的添加须要的模块

缺点:sql

  • 安装复杂

这里咱们将采用编译安装的方式进行安装。shell

编译安装
一、检查依赖软件

检查并安装 Nginx 所需的依赖软件

  1. gcc:nginx编译依赖gcc环境

    安装命令:yum install gcc-c++

  2. pcre:(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用 pcre来解析正则表达式.

    安装命令:yum install -y pcre pcre-devel

  3. zlib:该库提供了不少种压缩和解压缩的方式,nginx使用zlib对 http包的内容进行gzip。

    安装命令:yum install -y zlib zlib-devel

  4. openssl:一个强大的安全套接字层密码库,囊括主要的密码算法、经常使用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不只支持http 协议,还支持https

    安装命令:yum install -y openssl openssl-devel

二、安装 nginx

点击进入 nginx 官网 里面有最新的主线版本、稳定版和历史版本,这里咱们选择最新的主线版本--1.17.6,即:

  1. 咱们建立一个 download 目录来存放下载下来的文件,而后进入该目录:
mkdir download
cd download
复制代码
  1. 接着下载 Nginx 1.17.6 的主线版本 ,下载命令:
wget https://nginx.org/download/nginx-1.17.6.tar.gz
复制代码
  1. 解压缩源码包并进入,命令以下:
tar -zxvf nginx-1.17.6.tar.gz
cd nginx-1.17.6
复制代码
  1. 配置编译参数命令(重要),配置以下:
./configure \
--prefix=/mnt/sdc/server/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-pcre=../pcre-8.43
--with-http_ssl_module --with-http_v2_module \
--with-http_gzip_static_module \
--with-http_gunzip_module \
--with-stream \
--with-stream_ssl_module \
--with-http_sub_module \
--with-http_flv_module \
--with-http_addition_module \
--with-http_realip_module \
--with-http_mp4_module \
--with-ld-opt=-Wl,-E \
--with-cc-opt=-Wno-error \
--with-pcre-jit \
--with-http_stub_status_module
复制代码

注:

执行以前咱们须要下载并解压 pcre ,这里咱们使用 pcre 源码编译的方式让 Nginx 支持 pcre 模块,这里选择的版本是--8.43,下载命令:

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
tar -zxvf pcre-8.43.tar.gz
复制代码

安装以前须要手动建立上面指定的nginx文件夹,分别是 --prefix 指定的目录、 /var/run/nginx、/var/temp 和 /var/temp/nginx

mkdir /var/run/nginx
mkdir /var/temp
mkdir /var/temp/nginx
复制代码
  1. 编译并安装
make && make install
复制代码

等待安装完成,验证是否安装成功,能够进入 --prefix 指定的目录查看是否存在conf、sbin、html文件夹,若存在则安装成功。

启动
  1. 进入安装目录
cd /mnt/sdc/server/nginx/sbin
复制代码
  1. 启动
./nginx
复制代码
  1. 查看是否启动

打开浏览器,输入你服务器的IP地址,看是否出现以下界面,没有出现能够检测一下服务器的安全组或防火墙,看看80和443的端口是否开启,开启便可。

  1. 中止
  • 快速中止:
./nginx -s stop
复制代码
  • 完整中止(建议使用)
./nginx -s quit
复制代码
  1. 从新加载配置
./nginx -t # 测试配置文件是否有问题,出现test is successful 表明配置文件没有问题
./nginx -s reload # 从新加载配置
复制代码
修改 Nginx 配置

执行./nginx启动nginx,这里可使用-c指定加载的nginx配置文件,若是不指定,nginx在启动时默认加载conf/nginx.conf 文件。

咱们打开 nginx.conf

vi conf/nginx.conf
复制代码

修改成:

worker_processes  2; # 能够根据服务器的核数来填写

events {
    worker_connections  4096; # 能够根据服务器的核数来填写
}


http {
    include       mime.types; #文件扩展名与文件类型映射表
    default_type  application/octet-stream; #默认文件类型
    sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为on,若是用来进行下载等应用或磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,下降系统的负载。注意:若是图片显示不正常 把这个改为off。
    autoindex on; #开启目录列表访问,适合下载服务器,默认关闭。
    tcp_nopush on; #防止网络阻塞
    tcp_nodelay on; #防止网络阻塞
    keepalive_timeout 120; #长链接超时时间,单位是秒
    gzip on; #开启gzip压缩输出

    server {
        listen       80;
        server_name  localhost;

    }

    include /mnt/sdc/server/nginx/project/*.conf; # 加载其余配置,能够分项目建立,xxx.conf.

}
复制代码

Mysql 5.7 安装及修改数据库目录

下载 Mysql yum包

使用wget 直接下载:

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
复制代码

安装软件源

rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
复制代码

安装 Mysql 服务端

yum install  -y  mysql-community-server

复制代码

这里的安装须要等待一会

Mysql 操做

service mysqld start # 启动mysql
service mysqld status # 检查mysql的运行状态
service mysqld stop # 中止mysql
service mysqld restart # 重启mysql

复制代码

修改临时密码

  1. 查看临时密码

为了增强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,若是安装的是RPM包,则默认是/var/log/mysqld.log。 只有启动过一次mysql才能够查看临时密码

能够经过命令来查看临时密码:

grep 'temporary password' /var/log/mysqld.log

复制代码
  1. 登陆并修改
mysql -h127.0.0.1 -uroot -p # 登陆

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx'; # 修改密码为xxxx

复制代码

这里的密码设置须要复杂一点,若是密码设置的太过于简单,会发生以下的提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决方案:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

受权其余机器登陆

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH  PRIVILEGES;

复制代码

修改mysql的数据库目录位置

第一步:建立目录

在你想要的地方建立data目录,如在 /mnt/sdc/mysql/data

mkdir -p /mnt/sdc/mysql/data & cd  /mnt/sdc/mysql/data

复制代码
第二步:中止服务

停掉mysql服务

mysqladmin -u root -p shutdown
Enter password:

复制代码
第三步:迁移目录

/var/lib/mysql 的目录迁移到 /mnt/sdc/mysql/data

mv /var/lib/mysql /mnt/sdc/mysql/data/

复制代码
第四步:设置权限

设置 /mnt/sdc/mysql/data/mysql 文件夹的所属和权限

chown -R mysql:mysql /mnt/sdc/mysql/data/mysql

复制代码
第五步:修改配置

修改 socket 为:/mnt/sdc/mysql/data/mysql/mysql.sock

修改 datadir 为:/mnt/sdc/mysql/data/mysql

设置一个SELinux

setenforce 0

复制代码
最后:从新启动
service mysqld start

复制代码

Redis 的安装与设置

一、下载

到 redis 官网下载最新稳定版的 redis,下载地址:redis.io/download,当前最新版为:5.0.7

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

复制代码

二、解压安装

下载完成后,解压 redis-5.0.7.tar.gz

tar -zxvf redis-5.0.7.tar.gz 

复制代码

进入解压的目录

cd redis-5.0.7

复制代码

使用 PREFIX 能够把 redis 安装到指定目录: 这里安装的目录是 /mnt/sdc/server/redis

make PREFIX=/mnt/sdc/server/redis install

复制代码

四、设置开机启动

在解压的 redis 目录下的 utils 里面找到 redis_init_script,将其拷贝到 /etc/init.d 目录下,重命名为redis,进入到 /etc/init.d/ 目录:

cd utils/
 cp redis_init_script /etc/init.d/redis
 cd /etc/init.d/

复制代码

使用 vi 编辑 redis

  1. 在脚本的第一行后面添加一行内容以下:
#chkconfig: 2345 80 90 

复制代码
  1. 根据本身的安装目录修改如下5个参数的实际路径:
REDISPORT=6379   #端口 
EXEC=/mnt/sdc/server/redis/bin/redis-server   #启动服务的命令路径
CLIEXEC=/mnt/sdc/server/redis/bin/redis-cli    #客户端路径
PIDFILE=/var/run/redis_${REDISPORT}.pid   #记录pid(进程id)文件路径
CONF="/mnt/sdc/server/redis/${REDISPORT}.conf"        #配置文件路径

复制代码
  1. 更改 redis 开启的命令,增长‘&’来之后台运行的方式执行:
$EXEC $CONF & 

复制代码
  1. 将 Redis 注册成为服务
chkconfig --add redis  # 注册成为服务
 chkconfig --list redis  # 查看开机自启的服务中是否已经有咱们的redis

复制代码

下面表明已加入开机自启的服务

五、redis 配置文件设置

进入redis目录复制 redis.conf 文件到 /mnt/sdc/server/redis/ 文件下,修改起文件为:端口号.conf

打开 端口号.conf

修改 daemonize no 为 `daemonize yes。

六、启动,中止 redis 服务

service redis start  
service redis stop

复制代码

结尾

到此,本文就结束了,若有不当之处敬请指正,一块儿学习探讨,谢谢🙏。

相关文章
相关标签/搜索