CentOS7 下安装 Nginx + MongoDB + Wildfly

一. 准备

以下是本次安装用到的系统及软件版本:

安装 Nginx 还需要到 Pcre 和 Zlib,它们的版本是:

二. 安装操作系统

1. 安装界面语言

CentOS 7 的安装引导界面比较清晰,安装界面语言选择简体中文即可。

2. 安装信息摘要

在安装信息摘要界面有一个软件选择,里面定义了一些常用场景的软件包集合,这里我们选择基础设施服务器。

基础设施服务器是没有可视化操作界面的,如果需要可视化操作界面,可以选择带 GUI 的服务器。

在安装目标位置中,可以根据需要自定义磁盘划分。

CentOS 7 默认划分磁盘建议的 boot 大小为 500M,如果自定义划分磁盘,建议也将 boot 设置为 500M。

系统网卡默认是禁用的,可以在 NETWORK & HOST NAME 中启用。

设置完成后,就可以继续安装了。

3. 安装过程

在安装过程中,需要设置 root 用户的密码。如果上一步骤中选择的是基础设施服务器,整个安装过程会很快结束,如果是选择带 GUI 的服务器,那么安装过程会稍慢一些,并且安装完成后会要求设置一个普通用户用于系统平常操作。

4. 安装编译器

在选择安装软件集合时,如果没有选择附加的软件包,系统默认是不带 gcc 编译器的,需要我们自己安装一下,安装过程很简单

# yum install gcc gcc-c++

三. 安装 Nginx

安装 nginx 需要到 pcre 和 zlib,这里我们需要下载三个软件的源码包,已源码编译的方式进行安装和配置。

依次解压 nginx, pcre 和 zlib 后,进入 nginx 的目录执行:

# ./configure --prefix=/usr/local/nginx-1.9.3 --with-zlib=../zlib-1.2.7 --with-pcre=../pcre-8.37

--prefix 指定了 nginx 的安装目录

--with-zlib 指向的是 zlib 的源码包

--with-pcre 指向的是 pcre 的源码包

完成配置后,就可以进行安装了

# make && make install

安装完成后,需要建立相应的用户组及用户,并调整 Nginx 的目录权限和配置

修改 Nginx 配置

# vi /usr/local/nginx-1.9.3/conf/nginx.conf

#user  nobody;

#pid  logs/nginx.pid;

#access_log  logs/access.log  main;

去掉注释,并修改为

user  nginx;

pid   /usr/local/nginx-1.9.3/nginx.pid;

access_log  /www/log/nginx/access.log  main;

添加用户组及用户

# groupadd nginx
# useradd -g nginx nginx

调整 Nginx 的目录权限

# chown nginx:nginx /usr/local/nginx-1.9.3 -R

然后创建 Nginx 的日志目录,并设置相应目录权限。

# mkdir -p /www/log/nginx
# chown nginx:nginx /www/log/nginx -R

四. 配置 Nginx

配置 Nginx 主要需要做两件事:1. 配置 Nginx 开机自启动,2. 配置防火墙允许外网访问 80 端口。

1. 配置 Nginx 开机启动

在 /lib/systemd/system 下新建一个 Nginx 的服务脚本

# touch /lib/systemd/system/nginx.service

然后键入以下内容

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx-1.9.3/nginx.pid
ExecStartPre=/usr/local/nginx-1.9.3/sbin/nginx -t
ExecStart=/usr/local/nginx-1.9.3/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=process
KillSignal=SIGQUIT
TimeoutStopSec=5
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存后,执行

# systemctl enable nginx.service

使 Nginx 能够开机启动,要取消开机启动可以执行

# systemctl disable nginx.service

启动 Nginx 可以执行

# systemctl start nginx.service

重载 Nginx 配置可以执行

# systemctl reload nginx.service

查看 Nginx 运行状态可以执行

# systemctl status nginx.service

2. 配置防火墙

Nginx 安装完成后,还需要在防火墙上配置规则以允许 80 端口请求通过。方法很简单,执行

# firewall-cmd --permanent --zone=public --add-service=http

然后重启防火墙即可生效

# systemctl restart firewalld.service

3. 测试

用浏览器访问服务器地址,看到 Nginx 的欢迎界面说明配置成功。

五. 安装并配置 MongoDB

将 MongoDB 解压到 /usr/local/mongodb-3.0.5

添加 MongoDB 的配置文件

# touch /usr/local/mongodb-3.0.5/mongodb.conf

键入以下内容

systemLog:
   destination: file
   path: /www/log/mongodb/mongodb.log
   logAppend: true

processManagement:
   fork: true
   pidFilePath: /usr/local/mongodb-3.0.5/mongodb.pid

storage:
   dbPath: /data/mongodb
   directoryPerDB: true

添加用户组及用户:

# groupadd mongodb
# useradd -g mongodb mongodb

调整 MongoDB 的目录权限

# chown mongodb:mongodb /usr/local/mongodb-3.0.5 -R

然后创建 MongoDB 的数据目录和日志目录,并设置相应目录权限。

# mkdir -p /www/log/mongodb
# chown mongodb:mongodb /www/log/mongodb -R

# mkdir -p /data/mongodb
# chown mongodb:mongodb /data/mongodb -R

在 /lib/systemd/system 下新建一个 MongoDB 的服务脚本

# touch /lib/systemd/system/mongodb.service

然后键入以下内容

[Unit]
Description=Mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/mongodb-3.0.5/mongodb.pid
ExecStartPre=/bin/rm -rf /data/mongodb/mongod.lock
ExecStart=/bin/su - mongodb -c "/usr/local/mongodb-3.0.5/bin/mongod --config /usr/local/mongodb-3.0.5/mongodb.conf"
ExecStop=/bin/kill -2 $MAINPID
KillMode=process
KillSignal=SIGQUIT
TimeoutStopSec=5
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存后,执行以下命令添加开机启动

# systemctl enable mongodb.service

执行以下命令启动 MongoDB

# systemctl start mongodb.service

六. 安装配置 JDK

将 JDK 解压到 /usr/local/jdk1.8.0_51

在 /etc/profile 最后加入

export JAVA_HOME=/usr/local/jdk1.8.0_51
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存后执行

# source /etc/profile

是环境变量生效,通过

# java -version

检查是否配置成功

七. 安装配置 Wildfly

将 Wildfly 解压到 /usr/local/wildfly-9.0.1.Final

1. 修改启动配置文件

# vi /usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly.conf

将以下配置

# JAVA_HOME="/usr/lib/jvm/default-java"

# JBOSS_HOME="/opt/wildfly"

# JBOSS_USER=wildfly

去掉注释,修改为

JAVA_HOME="/usr/local/jdk1.8.0_51"

JBOSS_HOME="/usr/local/wildfly-9.0.1.Final"

JBOSS_USER=www

2. 修改启动脚本

# vi /usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly-init-redhat.sh

找到

JBOSS_CONF="/etc/default/wildfly.conf"

修改为

JBOSS_CONF="/usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly.conf"

找到

JBOSS_HOME=/opt/wildfly

修改为

JBOSS_HOME=/usr/local/wildfly-9.0.1.Final

找到

JBOSS_PIDFILE=/var/run/wildfly/wildfly.pid

修改为

JBOSS_PIDFILE=/usr/local/wildfly-9.0.1.Final/wildfly.pid

找到

JBOSS_CONSOLE_LOG=/var/log/wildfly/console.log

修改为

JBOSS_CONSOLE_LOG=/www/log/jboss/console.log

修改 Wildfly 日志目录

编辑以下文件

# vi /usr/local/wildfly-9.0.1.Final/standalone/configuration/standalone.xml

找到

<file relative-to="jboss.server.log.dir" path="server.log"/>

修改为

<file path="/www/log/jboss/server.log"/>

添加用户组及用户

# groupadd www
# useradd -g www www

调整 Wildfly 的目录权限

# chown www:www /usr/local/wildfly-9.0.1.Final -R

然后创建 Wildfly 的日志目录,并设置相应目录权限

# mkdir -p /www/log/jboss
# chown www:www /www/log/jboss -R

添加启动脚本

在 /lib/systemd/system 下新建一个 Wildfly 的服务脚本

# touch /lib/systemd/system/jboss.service

然后键入以下内容

[Unit]
Description=Wildfly
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly-init-redhat.sh start
ExecStop=/usr/local/wildfly-9.0.1.Final/bin/init.d/wildfly-init-redhat.sh stop

[Install]
WantedBy=multi-user.target

保存后,执行以下命令添加开机启动

# systemctl enable jboss.service

执行以下命令启动 Wildfly

# systemctl start jboss.service

八. 调优

以上步骤后,需要的软件就安装完成了,接下来需要进行一些设置来对系统进行优化。

1. MongoDB 调优

MongoDB 运行建议禁用大内存页面(http://docs.mongodb.org/manual/tutorial/transparent-huge-pages/)

新建脚本

# touch /etc/init.d/disable-transparent-hugepages

键入以下内容

#!/bin/sh
### BEGIN INIT INFO
# Provides:          disable-transparent-hugepages
# Required-Start:    $local_fs
# Required-Stop:
# X-Start-Before:    mongod mongodb-mms-automation-agent
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description:       Disable Linux transparent huge pages, to improve
#                    database performance.
### END INIT INFO

case $1 in
  start)
    if [ -d /sys/kernel/mm/transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/transparent_hugepage
    elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/redhat_transparent_hugepage
    else
      return 0
    fi

    echo ‘never‘ > ${thp_path}/enabled
    echo ‘never‘ > ${thp_path}/defrag

    unset thp_path
    ;;
esac

保存后,修改文件的可执行权限

# chmod +x /etc/init.d/disable-transparent-hugepages

在 /lib/systemd/system 下新建一个启动脚本

# touch /lib/systemd/system/dthp.service

然后键入以下内容

[Unit]
Description=Disable Transparent Huge Pages (THP)

[Service]
ExecStart=/etc/init.d/disable-transparent-hugepages start
TimeoutStopSec=5
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存后,执行以下命令添加开机启动

# systemctl enable dthp.service

执行以下命令启动脚本

# systemctl start dthp.service

重启 MongoDB 后可以生效

2. ulimit 调优

编辑 /etc/security/limits.conf

# vi /etc/security/limits.conf

增加以下配置

* soft nofile 65536
* hard nofile 65536

保存后,退出当前用户,重新登录后执行

# ulimit -n

查看是否生效

时间: 2024-11-07 01:20:58

CentOS7 下安装 Nginx + MongoDB + Wildfly的相关文章

centos7下安装nginx

1.从官网(http://nginx.org/)下载安装包 笔者下载版本为nginx-1.10.2.tar.gz 2.使用tar命令解压 tar xvf nginx-1.10.2.tar.gz cd nginx-1.10.2/ ./configure  --prefix=/usr/local/nginx   (prefix指定安装目录) 注意:在此步骤中因为缺少相关依赖库会出现以下问题: ./configure: error: the HTTP rewrite module requires t

#建站【CentOS7.0下安装Nginx 1.7.4 】

来源:blog.csdn.net  作者:QuantSeven 原文链接点:这里 一个在CentOS7.0下安装Nginx 1.7.4的教程,亲测有效.下面直接上教程: 一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc.openssl-devel.pcre-devel和zlib-devel 所以执行如下命令安装. $ ./configure $默认安装在/usr/local/nginx $ make $

centos7.0 安装nginx

在centos7.0下安装nginx需要安装 prce和zlib包去官网下载相应的包 然后解压相应的包进行编译 解压nginx源码包进入到解压文件 ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/pcre-

centos7下安装php+memcached简单记录

1)centos7下安装php 需要再添加一个yum源来安装php-fpm,可以使用webtatic(这个yum源对国内网络来说恐怕有些慢,当然你也可以选择其它的yum源) [[email protected] ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 安装php7-fpm和一些其它的必要的组件 [[email protected] ~]# yum -y install php70w-fpm php

Nginx系列-1.Linux下安装Nginx

Nginx系列-1.Linux下安装Nginx 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置Nginx+A

Centos7下安装及配置PPTP VPN

说到VPN服务,我们大家都知道,VPN是虚拟专用网络(Virtual Private Network)的缩写,VPN有多种分类方式,包括PPTP.L2TP.IPSec等,本文配置的VPN服务器是采用PPTP协议的,PPTP是在PPP协议基础上开发的一种新的增强型安全协议.当然在windows上和linux上都可以部署服务,我们今天主要介绍一下在Centos7下安装及配置PPTP VPN. 因为PPTP是基于PPP协议基础上的,因此需要系统支持PPP,使用 rpm -qa ppp 检查是否安装了P

Centos7下安装及配置Zabbix3.0

说到Zabbix相信很多管理员都使用过,因为zabbix所提供的功能给广大管理员们及时得知自己所管理的服务器的服务状态,当然有很多软件服务(cacti.ngios等)都可以实现zabbix类似的功能,但是对于zabbix的功能相对更强大一点,具体就不细说了,今天我们主要介绍一下,Centos7下安装及配置Zabbix3.0的介绍,具体见下: 在安装服务器的时候我们需要注意一些问题:比如服务器的防火墙.selinux等都会影响到Zabbix的正常通信 环境介绍: OS:Centos7 Servic

CentOS-7下安装MySQL5.6.22

CentOS7下安装MySQL5.6.22(当前最新版本:2015-01-17) 转载请注明出处:jiq?钦's technical Blog 一  安装环境 (1)CentOS版本:CentOS-7 查看方法: [[email protected] 桌面]# cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) 来源:官网下载 下载地址:http://www.centos.org/ (2)MySQL版本:MySQL-5.6.2

centos7下安装mariadb

参考: http://www.cnblogs.com/Netsharp/p/5875474.html https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft&distro=CentOS&distro_release=centos7-amd64--centos7&version=10.1 RDS for MySQL 备份文件恢复到自建数据库 参考: https://help.aliyun.com/knowl