title: 初始化阿里云服务器WEB环境
date: 2019-01-11 16:06:12
tags:
目录导航
@hucong
初始化阿里云服务器WEB环境
这是一篇针对我公司web环境的初始化教程,仅以MD的方式分享记录此教程,对有同样此需求的同学提供参考
实验环境
- 阿里云ECS
- 2核/4g/1m
- CentOS 7.3
安装配置JDK环境
以安装在/usr/local/jdk1.8.0_144下的jdk文件为例:
1.配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
2.手动使环境变量生效
source /etc/profile
3.检查JDK配置是否生效
java -version
可以参考我写在CSDN上的一篇教程 CentOS 7.3安装JDK8.
切换yum库为163
如需备份请参考163官方文档 CentOS镜像使用帮助
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
安装运行Nginx(域名)
centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度
sudo yum install nginx
- yum安装方式启动:
Systemd服务文件以.service结尾,比如现在要建立nginx为开机启动,如果用yum install命令安装的,yum命令会自动创建nginx.service文件,直接用命令
sudo systemctl start nginx.service
- 编译安装方式启动
如果使用源码安装,需要手动创建nginx.service服务文件。开机没有登陆情况下就能运行的程序,存在系统服务(system)里,所以需要在系统服务目录里创建nginx.service文件vi /lib/systemd/system/nginx.service
,并添加如下内容
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
其余命令
#设置开机启动
systemcel enable nginx.service
#取消开机自启
systemctl disable nginx.service
#启动
systemctl start nginx.service
#查看当前状态
systemctl status nginx.service
#重新启动服务
systemctl restart nginx.service
#查看所有已启动的服务
systemctl list-units --type=service
CentOS7+Nginx设置Systemctl restart nginx.service服务
安装卸载MySQL
卸载当前安装的MySQL
service mysqld stop
yum remove mysql mysql-* rpm -qa|grep mysql
yum remove mysql mysql-server mysql-libs compat-mysql51 yum list installed | grep mysql
yum remove mysql-libs
安装MySQL
rpm -Uvh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
yum install mysql-community-server
MySQL的安装配置也可以参考:
Centos 7 mysql数据库安装配置教程+设置MySQL主从数据库备份
数据库初始化
1.启动数据库
service mysqld start //service mysqld restart重启
2.由于是通过yum安装,所以查看默认密码进行登录操作
cat /var/log/mysqld.log | grep password //查看默认密码
mysql -u root -p'iz-Xeh24k6a*’ //''内容以实际显示为准
3.设置安全策略组,方便设置简单密码
set global validate_password_policy=0;
set global validate_password_length=4;
4.修改初始密码
SET PASSWORD = PASSWORD('123456');
5.设置远程连接
#把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。(也可以指定某个数据库)
mysql> grant all privileges on *.* to root@'%'identified by 'password';
#如果是新用户而不是root,则要先新建用户
mysql>create user 'username'@'%' identified by 'password';
6.重载授权表
FLUSH PRIVILEGES;
7.升级之后刷新
mysql_upgrade -u root -p
安装配置Tomcat
1.安装Tomcat
访问Tomcat,下载Binary版本进行解压(/usr/local)
- Source Distribution -是源代码版,你需要自己编译成可执行软件。
- Binary Distribution -是可执行版,直接可以拿来用的,他已经给你编译好的版本。
2.配置tomcat多项目单实例
修改Tomcat目录下的conf/server.xml文件的相应位置
- 69~71行
<Connector port="8089" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" maxPostSize="-1" />
注:Connector port=“8089” 不能冲突,按实际修改
- 148~150行
<Host name="localhost" appBase=""
unpackWARs="true" autoDeploy="false">
<Context path="" docBase="/data/saas/saas.war" reloadable="true" crossContext="true"/>
注:docBase=/data/saas/saas.war为当前环境下项目包.war所在地址
- 160~162行
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
3.运行web服务
- 运行saas平台
#sh /usr/local/apache-tomcat-saas/tomcat.sh start
- 检查运行情况(服务运行于8081端口)
#lsof -i:8081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 1481 root 49u IPv4 16199 0t0 TCP *:tproxy (LISTEN)
有进程说明启动成功
- 检查日志
#cat /usr/local/apache-tomcat-saas/logs/catalina.20xx-xx-xx.log //以实际为准
4.(可选)tomcat启动慢 有两种解决
1.在Tomcat环境中解决 可以通过配置JRE使⽤用非阻塞的Entropy Source。 在catalina.sh中加⼊入这么一行:
JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"
即可。加⼊入后再启动Tomcat,整个启动耗时迅速下降。
2.在JVM环境中解决 打开$JAVA_PATH/jre/lib/security/java.security这个⽂文件,找到下⾯面的内容:
securerandom.source=file:/dev/urandom
替换成
securerandom.source=file:/dev/./urandom
5.(可选)后台运行和文件迁移
⼀般,我们拷贝的⽂件都很⼤,想让scp在后台运⾏。通常我们要建⽴ssh 信任关系。即不输⼊密码就能拷贝,但是通常情况下这样的条件不能满
⾜。可以⽤下⾯的⽅法来实现后台运⾏scp:
scp remote_username@remote_ip:remote_file local_folder
输⼊密码,回车。其他指令如下
不清楚可查看:Linux如何查看、关闭、后台运行任务
- jobs //查看任务,返回任务编号n和进程号
- bg %n //将编号为n的任务转后台运⾏行行
- fg %n //将编号为n的任务转前台运⾏行行
- ctrl+z //挂起当前任务
- ctrl+c //结束当前任务
- 将测试服务器192.168.1.1的/usr/local/frp文件夹复制到正式服务器192.168.1.2的指定位置/usr/local/app下
1.使用scp指令通过ssh协议传输
#scp -r /usr/local/frp root@192.168.1.2:/usr/local/app
提示是否保存密钥,并输入目标服务器的root密码(192.168.1.2),然后任务开始。
2.Ctrl+Z将任务暂停并挂起到后台:
[2]+ Stopped scp -r /usr/local/frp/ root@192.168.1.2:/usr/local/app
3.使用bg指令后台运行该任务
#bg 2
4.确认该任务状态
#jobs -l
[2] 24233 Running scp -r /usr/local/frp/ root@192.168.1.2:/usr/local/app &