CentOS 7 下 WEB 项目运行环境初始化

最近使用阿里云服务器搭建了 WEB 项目的运行开发环境,初始化服务器的过程中主要涉及到了用户管理、防火墙管理和相关软件环境搭建等内容,现将相关操作记录如下。
I. 防火墙
通过 SSH 连接到服务器后,为提高服务器的安全性,首先应确保防火墙开启。

# 启动防火墙
systemctl start firewalld.service
# 防火墙开机自动启动
systemctl enable firewalld.service

开启防火墙时,要同时开放 SSH 连接端口,否则下次 SSH 连接就会被防火墙屏蔽了。为了提高安全性,我们更改一下 SSH 的默认端口后开启更改后的端口。

# 防火墙允许 5432 端口(即打算使用的 SSH 端口)
firewall-cmd --permanent --zone=public --add-port=5432/tcp
# 重启防火墙
firewall-cmd --reload
# 修改 SSH 默认端口
vi /etc/ssh/sshd_config
# 添加 Port=5432
# 重启 SSH 服务
systemctl restart sshd.service
# 修改 hostname
vi etc/sysconfig/network
# 添加 HOSTNAME=name
hostnamectl set-hostname=name

II. 用户管理
1) 修改 root 用户密码
使用 root 用户登录后,运行 passwd 命令,根据提示设定新密码。
2) 创建新用户组,并添加用户

groupdd grpadmin
# 创建用户并设定密码
useradd -g grpadmin username
passwd username
# 添加为 sudo
visudo 
# 添加 %grpadmin ALL=(ALL)     ALL
# 允许组中的所有用户执行 sudo 命令。

III. 搭建网站开发环境
1) MySQL 初始化

# 下载安装 MySQL 的 yum 仓库
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
# 使用 yum 命令安装 MySQL 
yum install -y mysql-community-server mysql-community-devel
# 安装好的 MySQL 应当有以下内容
rpm -qa | grep mysql
# mysql-community-release-el7-5.noarch
# mysql-community-common-5.6.35-2.el7.x86_64
# mysql-community-client-5.6.35-2.el7.x86_64
# mysql-community-devel-5.6.35-2.el7.x86_64
# mysql-community-libs-5.6.35-2.el7.x86_64
# mysql-community-server-5.6.35-2.el7.x86_64

# 启动 mysql 服务
systemctl start mysqld.service

MySQL 默认情况下数据库名及表名是区分大小写的,可以通过修改配置文件,使 mysql 执行 sql 执行 SQL 语句时,对表名大小写不敏感。另外,为了使数据库能够正常存储中文字符,我们要将 mysql 的默认字符集改为 UTF-8 方式。

vi /etc/my.cnf
# 在[mysqld]节点下,加入下面两行配置后,重启数据库服务。
# Table name case insensitive
lower_case_table_names=1

# Server default character set
character_set_server=utf8

为了提高安全性,删除 mysql 的匿名用户,更改 root 密码

mysql -u root
mysql> use mysql;
mysql> delete from user where user='';
mysql> update user set password=password("new_pw") where user='root';
mysql> flush privileges;

通过命令行也可以更改 root 密码

mysqladmin -u root -p password "new_pw"

但是因为会留下明文操作记录,存在安全风险,因此一般不推荐该方法更改 root 密码。

# 连接数据库
mysql -u root -p 
# 创建新数据库
CREATE DATABASE PRJ_DB;
# 创建新用户并赋予数据库访问权限
GRANT ALL PRIVILEGES ON PRJ_DB.* TO 'new_user_name'@'localhost' IDENTIFIED BY 'password';
flush privileges;

这样就创建了一个新用户 new_user_name,其密码为 password,限定在 localhost 登录。
2) 安装 svn 服务器,参考前博文 Configure SVN (Subversion) Server
3) 建立 samba 共享文件夹

mkdir /var/share
yum install -y samba-server samba-client

修改 samba 配置文件

vi /etc/samba/smb.conf

[global]
        workgroup = prjgroup
        server string = project management
        security = user
        passdb backend = tdbsam
[share]
        path = /var/share
        public = no
        writable = yes
        write list = @grpadmin
        validusers = @grpadmin

其中 grpadmin 是系统中已经存在的用户组。samba 服务器将允许组中成员访问,但是还需要将使用 smbpasswd -a username 将成员加入到 samba 许可名单并为其重新设定密码。

# 启动 samba 服务器
systemctl start smb
# 开启防火墙
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=445/tcp

samba 使用 139 和 445 端口进行通信连接。本地测试

smbclient -L //127.0.0.1/prjshare -U username

通过 windows 系统访问 samba 服务器时,直接在文件浏览器地址栏中输入
\\server ip\share 后就会弹出 ID/密码输入框,之后可以正常访问了。但我是在阿里云服务器上安装的 samba 服务,由于 samba 端口是高危端口,阿里云整体屏蔽了 139 和 445 的端口通信,因此没能成功从外网访问到 samba 服务器。
4) 构建 FTP 服务器

yum install -y vsftpd ftp

其中 vsftpd 是提供 ftp 服务器的软件。ftp 是客户端,如果不需要在本机连接 ftp 服务器,则无需安装 ftp。安装完成后配置 ftp 服务器的基本设置。

vi /etc/vsftpd/vsftpd.conf
# 进行以下修改或者添加
# 禁止匿名访问
anonymous_enable=NO
# 使用 linux 系统用户访问 ftp 服务器
local_enable=YES
# 允许有权限的用户进行写操作
write_enable=YES
# 指定 ftp 服务器的根目录位置
local_root=/var/ftp
# 指令端口(默认,无需指明)
listen_port=21
# 数据端口(默认,无需指明)
ftp_data_prot=20

# 添加 ftp 用户并指定其密码(ftp 组默认存在)
useradd -g ftp -d /var/ftp -s /sbin/nologin ftpuser
passwd ftpuser

# 将 ftp 服务器根目录的属主改变成 ftpuser
chown ftpuser:ftp -R /var/ftp

# 完成配置后,然后开始 ftp 服务器就可以进行访问了。
systemctl start vsftpd
# 开机启动
systemctl enable vsftpd

# 开启防火墙
firewall-cmd --permanent --add-port=20/tcp
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --reload

在 win 操作系统访问 ftp 服务器时,通过客户端软件访问是比较方便,但可能会需要额外的设定。例如我们使用 Xftp 连接 ftp 服务器时,为了解决可能存在的客户段 PC 防火墙问题,可选择主动连接方式(关于 FTP 的主动连接和被动连接,请参考其它相关资料)。为了解决中文字符乱码问题,可设置使用 UTF-8 方式解析文件或目录名。另外需要注意的是,在服务器端创建的中文目录名,在 win 操作系统电脑上访问时,可能会出现无法写入文件的问题,因此,一般可以直接在客户端管理所有 ftp 文件及文件目录,不但方便,也能防止由于编码方式不同导致的文件写入目录失败的问题。
5) 安装 Oracle JDK
CentOS 自带的 open jdk 有时候不能满足需要,我们可将其替为 Oracle JDK 环境。只需下载 jdk 1.8 并解压到 /opt/jdk1.8 文件夹下,配置 java 环境变量即可。

vi /etc/profile
export JAVA_HOME=/opt/jdk1.8
export CLASSPATH=:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

# 删除系统自带的 jdk
yum remove java
mv /usr/bin/java /usr/bin/java.bak
ln -s $JAVA_HOME/bin/java /usr/bin/java
# 重启操作系统使配置生效
reboot

6) 安装 Wildfly 应用服务器
下载 Wildfly 并解压到 /opt 亦即完成安装。

tar -xzvf wildfly-10.1.0.Final.tar.gz -C /opt/

启动 wildfly,首先转到 wildfly 目录下

./bin/standalone.sh -b 0.0.0.0

其中 -b 参数指定为 0.0.0.0 允许以任何 IP 地址(也可以指定为特定的 IP 地址)向服务器发送 http 请求,访问发布到 wildfly 的应用。如果不指定,wildfly 默认情况下只允许 127.0.0.1 访问已发布的应用。另外 wildfly 的 web 应用默认端口为 8080,如果需要从其它 IP 访问,还需要开放该端口的防火墙访问权限。

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

wildfly 提供了管理服务器的客户端。通过

./bin/jboss-cli.sh

可以进入管理交互界面(初始时需要设定管理员)
进入交互界面后,运行 connect 命令连接当前开启的 wildfly 服务器进行配置操作。常用的命令有

shutdown #关闭服务器
exit     #退出连接
deploy /path/to/web.war #将 WEB 应用发布到服务器
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值