以下操作均在阿里云 ECS(Centos 7.2)环境下执行,其他系统环境可能会有些许差别,仅供参考

软件更新

由于系统驱动的兼容性等问题,当前云服务器 ECS Linux 不支持内核升级操作(更多相关说明,可以参阅 ECS 使用须知)。

一般拿到一台新的服务器,我喜欢先进行软件升级。阿里云ECS不建议升级服务器的内核和操作系统版本,所以,在进行系统软件更新操作时,应该将其剔除。

下面是查看服务器内核及系统版本,可以看一下在软件升级前后,剔除与否的区别。

uname -a
lsb_release -a

首先打开 /etc/yum.conf (vi /etc/yum.conf )文件,然后在 [main] 后面加入以下两行代码,这样在软件更新时,就不会升级内核及系统版本了。

exclude=kernel*
exclude=centos-release*

然后更新软件,-y 参数是在执行过程中,遇到的交互默认选择 yes ,如果想看一下软件的更新信息,可以去掉 -y 参数。

yum -y update

参考:阿里云ECS(LINUX) 更新时不升级内核配置说明

主机名修改

查看主机名指令

hostname

阿里云 ECS 默认的主机名是随机生成的,看着不是特别舒服,可以修改 /etc/hostname 文件,将现在的主机名改成自己想要的名称。

vim /etc/hostname

然后,按ESC 输入 :wq 保存(vim 基本指令)。reboot(重启),看一下主机名是否已经变更。

PS:临时修改主机名,重启后还是原来主机名。

hostname 主机名

直接使用yum安装软件,可能是稳定版,但不是新版本,这里使用更换源或者编译安装的方式,安装自己想要的版本

安装Nginx

在更换源之前,可以查看一下系统默认源 Nginx 的版本信息,与换源后做下对比。

yum info Nginx

1.为了更换源,首先新建一个repo,例如 Nginx.repo

vim /etc/yum.repos.d/Nginx.repo

2.编辑内容如下

[Nginx]
name=Nginx repo
baseurl=http://Nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

这里配置的是mainline version,如果想用稳定版,将baseurl中的mainline删除即可。

3.进行安装

yum install Nginx

4.查看版本

Nginx -v

5.开启服务

systemctl start Nginx

6.查看状态

systemctl status Nginx

至此,Nginx已经安装完成,访问服务器IP地址(域名已经解析,也可以使用域名访问),看一下有没有欢迎页面。

参考:nginx.org

防火墙配置

如果上述步骤结束后,没有看到欢迎页面,可能是防火墙配置造成的(80端口没有开放),Centos 7 默认的防火墙是FirewallD。

FirewallD有图像界面工具firewall-config和命令行工具firewall-cmd,服务器上通常使用命令行工具firewall-cmd。

查看防火墙运行状态

firewall-cmd --state

开启 FirewallD 服务

systemctl start firewalld

查看 FirewallD 状态

systemctl status firewalld

查看 FirewallD 配置

firewall-cmd --list-all

开启默认区域TCP 80 端口,加参数 permanent ,意味着重载后配置永久生效,不加此参数配置立刻生效,但 FirewallD 重载后失效。

firewall-cmd --permanent --add-port=80/tcp

防火墙开启的状态下,只需开启 80 端口(Nginx 默认端口),就可以访问页面了。

关闭默认区域TCP 80 端口

firewall-cmd --permanent --remove-port=80/tcp

开启 HTTP 服务(默认配置下等于开启TCP 80端口)

firewall-cmd --permanent --add-service=http

关闭 HTTP 服务(默认配置下等于关闭TCP 80端口)

firewall-cmd --permanent --remove-service=http

重载配置

firewall-cmd --reload

参考:CetnOS 7 默认防火墙FirewallD的使用说明

安装PHP

REMI 仓库提供了CentOS和RHEL的核心包的更新版本,尤其是最新的PHP/MysqL系列

在安装过程中可以使用如下命令随时查看仓库变化

yum repolist all

安装REMI仓库之前,首先安装EPEL仓库,因为REMI中的一些包依赖于EPEL

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

接下来安装 REMI 仓库

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

再安装 yum 的配置管理工具,方便配置 yum 仓库

yum install yum-utils

启用 remi-PHP71 仓库

yum-config-manager --enable remi-PHP71

最后,安装PHP

yum install PHP

安装完成后,查看PHP版本以及扩展信息

PHP --version
PHP --modules

参考:Remi's RPM repository

安装PHP-FPM,简单理解,PHP-FPM是FastCGI的管理器,FastCGI是处理Nginx转发过来的PHP脚本的。

yum install PHP-fpm

参考:PHP-FPM是什么

配置Nginx

现在Nginx、PHP、PHP-FPM都安装好了,怎么让PHP脚本跑起来呢?

首先,配置Nginx,简单配置如下:

然后在www目录下,写个index.PHP,内容如下:

<?PHP
    echo PHPinfo();

重启Nginx服务(Nginx更新配置后需要重启生效,如果之前服务没启,直接start就好)

systemctl restart Nginx

开启PHP-fpm服务

systemctl start PHP-fpm

访问页面,it's work!

安装MysqL

Centos 7 默认yum源中由 MariaDB 取代了 MysqL

首先,下载rpm包

wget http://dev.MysqL.com/get/MysqL57-community-release-el7-9.noarch.rpm

安装rpm包

rpm -ivh MysqL57-community-release-el7-9.noarch.rpm

安装MysqL

yum install MysqL-community-server

开启MysqLd服务

systemctl start MysqLd

查找初始化密码

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

使用root账号登录

MysqL -uroot -p

修改root账号密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '这里的密码要复杂些,要不然会提示不安全,修改失败';

当然,如果需要远程访问数据库的话,还需要设置权限(这里是赋予任何主机访问数据的权限,只是举个栗子,不建议这么做)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

这时候,就可以远程访问数据库了,如果访问不了,看一下是不是防火墙的问题。

参考:mysql

现在一套LNMP环境就搭建好了,接下来搭建JDK + TOMCAT

安装JDK

下载JDK rpm,因为官网下载需要接受许可,所以直接wget url的方式是行不通的,也可以先下载到本地再传到服务器上面。

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.rpm

下载完成可以 ls 看一下是否存在,然后安装rpm,注意包名跟自己下载的保持一致哦

rpm -ivh jdk-8u101-linux-x64.rpm

小插曲:在安装过程中,我不小心按了Ctrl+C,安装过程中断退出了,没有安装完,我想卸载重新安装。

所以我先查看已经安装的jdk rpm

rpm -qa | grep jdk

然后卸载

rpm -e 包名

发现报错,卸载不了,我想可能是安装未完成导致的。所以我就升级RPM包

rpm -Uvh jdk-8u101-linux-x64.rpm

恩,这样应该没问题了。不行,还是不放心,又卸载了,重新安装了一遍。- -!

回到正题,安装完成后,配置环境变量,在/etc/profile文件中加入如下内容:

export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLAsspATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

重新加载文件

source /etc/profile

查看安装是否成功

java -version
javac -version

也可以写个简单的demo,vim demo.java,内容如下:

class demo {
    public static void main(String[] args) {
        System.out.println("It's work!");
    }
}

编译执行

javac demo.java
java demo

看到 It's work! 说明安装配置成功。

参考:oracle

安装Tomcat

下载tar包

wget http://apache.fayea.com/tomcat/tomcat-9/v9.0.0.M11/bin/apache-tomcat-9.0.0.M11.tar.gz

解压

tar zxvf apache-tomcat-9.0.0.M11.tar.gz

将解压后的文件移到自己想要的位置,比如

mv apache-tomcat-9.0.0.M11 /usr/local/tomcat

运行Tomcat

cd bin
./startup.sh

停止Tomcat

./shutdown.sh

访问8080端口(Tomcat默认8080端口),就会看到汤姆猫。

参考:Tomcat

安装Redis

下载Redis

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

解压,并移到想要的位置

tar zxvf redis-3.2.4.tar.gz
mv redis-3.2.4 /usr/local/

进入redis目录,编译

cd /usr/local/redis-3.2.4
make

这是可能会遇到如下问题:

这是由于没有安装GCC,安装GCC

yum install gcc

安装完成后,再make,又遇到如下问题:

Allocator  
Selecting a non-default memory allocator when building Redis is done by setting  
the `MALLOC` environment variable. Redis is compiled and linked against libc  
malloc by default,with the exception of jemalloc being the default on Linux  
systems. This default was picked because jemalloc has proven to have fewer  
fragmentation problems than libc malloc.  
To force compiling against libc malloc,use:  
    % make MALLOC=libc  
To compile against jemalloc on Mac OS X systems,use:  
    % make MALLOC=jemalloc

这是由于默认使用jemalloc分配器,但是系统没有jemalloc,可以使用如下命令强制使用libc解决:

make MALLOC=libc

好像一切不是那么顺利,又出现了下面这个错误:

找了半天不知道什么原因,网上查资料也没查到,根据以往的经验,删除,重新解压安装。
这次直接make,而不是make MALLOC=libc,就莫名其妙的好了,好了,好了。。。

安装完成后会提示,执行make test,检测安装是否成功。

接着执行make test,会有提示需要tcl

安装完tcl,再执行make test就没问题了。

终于编译完成了,接下来安装

make install

执行

redis-server

看到这个熟悉的画面了吗?到这里算是安装完成了。

参考:Redis

上来就吧啦吧啦装了一堆软件,这是要干嘛呢,其实我只想部署个RAP而已,因为RAP需要Java Web环境和MysqL、Redis,就顺手把LNMP环境也搭了一遍。

好了,现在环境都搭好了,可以部署RAP了

部署RAP

首先下载RAP的war包

wget http://rap.taobao.org/release/RAP-0.14.1-SNAPSHOT.war

下载完成后将war包,移到Tomcat的webapps目录下,并重命名为ROOT.war

mv RAP-0.14.1-SNAPSHOT.war /usr/local/tomcat/webapps/ROOT.war

1.确保Tomcat处于开启状态,该war包将自动部署到文件夹ROOT,打开ROOT中的WEB-INF/classes/config.properties 来修改数据库配置。

2.修改redis.conf,打开daemonize,使其后台启动,如图:

开启Redis,载入刚才修改的配置

redis-server redis.conf

查看Redis是否处于运行状态

ps -ef | grep redis

3.开启MysqL,初始化数据库

cd tomcat/webapps/ROOT/WEB-INF/classes/database
MysqL -uroot -p < initialize.sql

4.最好重启一下Tomcat服务,然后访问8080端口,bingo~

Nginx转发

简单做了Nginx的转发,使不同域名指向同一端口

server {
    listen       80;
    server_name  rap.aniceday.cn;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }

}

Centos 7.2 安装配置 Nginx、PHP7、Mysql、JDK、Tomcat、Redis、RAP的更多相关文章

  1. macos – 运行brew命令充满了’同意Xcode / iOS许可证需要管理员权限,请通过sudo以root身份重新运行.’

    所以我跑了:如果滚动到底部,可以输入“同意”,然后就可以了.

  2. ios – Xcode上传错误:无法打开ssh会话. (16)

    注意:我们终于上传了该应用程序,但是我们并没有真正解决这个问题,所以如果有人可以分享一些有关这个问题的宝贵意见或经验,我将不胜感激.我也检查了以下2个类似的问题,但这些没有帮助:>Erroruploadingiosapplicationtoitunesconnect“failedtoopensshsession(16)”>AppStoresubmission/distributionerror“f

  3. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  4. ios – 仅适用于iPad的Settings.bundle?

    我有一种情况需要通过设置应用程序为我的应用程序提供一个设置.我的应用程序是通用的,但这个特殊的设置只在iPad上有意义,所以我只希望我的应用程序显示在iPad上的设置中.这可能吗?

  5. ios – Swift 4设置捆绑,获取默认值

    我创建了一个包含大约8个切换开关的设置包.我想要做的是从设置包中获取默认值.目前我现在有这两种方法:我在viewDidLoad中调用这些方法然而,这并没有得到我的默认值.如果我关闭应用程序,打开设置,调整设置并重新打开应用程序,这会产生正确的值.有没有获得默认设置?

  6. Swift调用OC和C

    Swift文件:main.swiftOC文件:Root.hRoot.mC函数文件:Fun.c桥接文件:工程名称-Bridging-Header.h

  7. OC调用Swift

    修改main.m文件OC文件:Root.hRoot.mSwift文件:Person.swift

  8. swift学习2 元组 tuples

    swift中出现了一种新的数据结构,非常牛掰的元组tuples如果懂PHP的猿,会发现这个元组和PHP的数组非常类似,同样是可以默认不指定key,也可以指定key目前的学习疑问是,如何进行元组的遍历?

  9. swift 跳到系统设置界面

    首先需要设置一下:跳转到系统的设置页主页,在iOS8.0的时候,Apple出了这么个玩意UIApplicationopenSettingsURLString,可以跳转到系统设置主页参考:http://www.jianshu.com/p/580d84dda738http://www.jianshu.com/p/8e354e684e8a

  10. 尝试使用swift mailer,gmail smtp,php发送邮件

    这里是我的代码:在运行时出现此错误…

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部