Linux 系统搭建 Web 服务器

来源:互联网 发布:外商投资网络支付机构 编辑:程序博客网 时间:2024/04/27 02:08

项目开发中,服务器主机用的是 Linux 系统,服务器用 Tomcat,数据库为 Mysql。

安装服务器所用操作系统及软件

如果电脑主机是 Windows 系列系统,则需要在其上安装虚拟机,在虚拟机中安装 Linux 系统来作为服务器,并在其上配置项目所需服务端;如果电脑主机是 Linux 系统,则直接在其上配置服务端即可。

虚拟机

VMware(收费,不过可以用破解版)、VirtualBox(开源、免费,但不太稳定)

操作系统

Linux,主要有 desktop(桌面)版本和 service(服务器)版本,配置服务器最好用 service 版。

所需工具及软件

SSHSecureShellClient3.2.9:向虚拟服务器中上传软件包
apache-tomcat-7.0.57.tar.gz(Tomcat服务安装包)
jdk-7u21-linux-i586.tar.gz(JDK、JRE环境安装包)
mysql-5.6.17-linux-glibc2.5-i686.tar.gz(数据库安装包)

配置服务端

需要安装 JDK、Tomcat 和 MySQL。这里,默认把所有所需安装包都用工具上传至 /home 下。

网络设置

调试网络

在虚拟机的网络设置中,设置网络连接方式为“桥接”,用 ifconfig 查看服务器的 IP,在电脑主机中用 ping 命令测试即可。

设置服务器 IP

临时设置 IP,用来测试。

Ifconfig eth0 192.XXX

修改服务器配置文件,让服务器重启后就有唯一固定的 IP 地址。

vi /etc/network/interfaces

auto eth0 #设置自动启动eth0接口
iface eth0 inet static #配置静态IP
address 192.168.11.88 #IP地址
netmask 255.255.255.0 #子网掩码
gateway 192.168.11.1 #默认网关

重启网络,使配置生效

sudo /etc/init.d/networking restart

查看 ip 是否配置成功

ifconfig

工具的安装

SSH 服务

Linux 系统上 SSH 服务的安装(一款操作方便的工具,方便资料、软件包等的上传下载)。

查看系统是否自带ssh服务

ps –e | grep ssh

如果没有 ssh 服务的相关信息,则先需要安装该服务。

sudo apt-get install openssh-server

主机系统安装 ssh 工具软件,Window 中安装 SSHSecureShellClient3.2.9 即可。

测试通过后,把 jdk、tomcat 和 mysql 的安装包上传到 Linux 系统的 /home下。

rpm 管理器的安装

sudo apt-get install rpm

JDK的安装

拷贝、解压、重命名

cd /usr/local
cp /home/jdk-7u21-linux-i586.tar.gz .
tar zxvf jdk-7u21-linux-i586.tar.gz
mv jdk7.xxx java

配置 JDK 的环境变量

vi /etc/profile

在最后加入下面配置

export JAVA_HOME=/usr/local/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

测试

java –version

Tomcat 的安装

拷贝、解压、重命名

cd /usr/local
cp /home/ apache-tomcat-7.0.57.tar.gz .
tar zxvf apache-tomcat-7.0.57.tar.gz
mv apache.xxx tomcat

测试

cd /tomcat/bin
./startup.sh

配置自启动

在…/tomcat/bin 下新建文件 auto-startup.sh 并填入下列内容

export JAVA_HOME=/usr/local/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
/usr/local/tomcat/bin/catalina.sh start

在 /etc/init.d/rc.local 中调用该配置文件

/usr/local/tomcat/bin/auto-startup.sh

测试

sudo reboot
net –anp | more

配置 tomcat 的用户文件,用于发布项目

vi /usr/local/tomcat/conf/tomcat-users.xml

在后面添加下面的配置

<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="hdaxadmin" password="hdaxpsw" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

重启tomcat

Mysql 的安装

安装启动测试过程

拷贝、解压、重命名

cp /home/mysql-5.6.17-linux-glibc2.5-i686.tar.gz .
tar zxvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz
mv mysql-5.6.17-linux-glibc2.5-i686 mysql

进入到 mysql 文件夹下,初始化数据。

cd mysql
scripts/mysql_install_db –user=mysql

注意:如果出错误“Installing MySQL system tables…./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory”

则安装错误提示中的包

apt-get install libaio-dev

再次初始化

scripts/mysql_install_db –user=mysql

修改文件的所有者为 aemop。

chown -R aemop.

改变用户组为 aemop。

chgrp -R aemop.

启动 mysql。

bin/mysqld_safe –user= aemop

测试并使用 mysql,进入 bin 目录中下。

cd bin/
./mysql -u root -p
密码为空

配置自启动

vi /etc/rc.local

在exit 0之前加入启动命令

/usr/local/mysql/bin/mysqld_safe –user=aemop

远程登录授权

新建用户 test(IP为192.168.0.151)并配置访问 sql 权限。

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by “用户密码”;

命令:

cd /usr/local/mysql/bin
./mysql –uroot –p
密码为空

mysql>grant select,update,insert,delete on . to test@192.168.0.151 identified by “123456”;

如果想让任意 IP 上的任意用户访问 mysql 数据库,则把 test @192.168.0.151 改成 .,不过警告,最好别这么干!!!

测试:

在 192.168.0.151 上打开连接 mysql 的工具测试,比如 SQLyog。

其它的一些参考命令,总之慎用。

查询已建用户权限:

Use mysql;
Select host,user,password from user;

实现远程连接(授权法)

将 host 字段的值改为 % 就表示在任何客户端机器上能以 test 用户登录到 mysql 服务器,建议在开发时设为 %。

update user set host = ’%’ where user = ’root’;

将权限改为ALL PRIVILEGES

grant all privileges on . to root@’%’ identified by “root”;

其它配置

文件:my-default.cnf:

参数:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
key_buffer_size = 536870912

数据库备份和恢复

备份数据库:

…/mysql/bin$ ./mysqldump -u root -p 数据库名 > /home/db_bak

恢复数据库:

…/mysql/bin$ ./mysql -u root -p 数据库名 < /home/db_bak

原创粉丝点击