Linux 搭建web环境

一、环境准备html

1.一、准备好linux服务器,这个选择有不少java

1.二、下载好Xshell、Xftp,www.netsarang.com/zh。这个在下载的时候选择“免费的家庭和学校版” 便可,虽然对打开页签数量有限制不过应该已经够用了。node

二、安装JDKmysql

2.1 Oracle官网找到jdk的下载地址 www.oracle.com/technetwork…,本次经过rpm 安装因此须要下载一个64位的rpm包,100多M 应该下载的比较快linux

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"
https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.rpm
复制代码

2.二、rpm -qa | grep jdk ,查看系统安装过的JDK,而后卸载sodu yum remove xxx (xxx为 查询后的jdk),我是新环境什么都没有安装过因此不须要了。nginx

2.三、添加执行权限c++

chmod 777 jdk-8u201-linux-x64.rpm
复制代码

2.四、执行rpm进行安装web

rpm -ivh --prefix=/usr/local/jdk/ jdk-8u201-linux-x64.rpm
复制代码

我经过‘--prefix’指定了一下安装目录redis

2.五、查看JDK是否安装成功sql

java -version

复制代码

2.六、编辑环境变量

vim /etc/profile
复制代码

编辑配置文件,命令:i 进入编辑模式,最后面加入以下代码
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

复制代码

按esc,而后输入命令 :wq! , 回车 强制保存退出

让profile当即生效

source /etc/profile
复制代码

2.七、查看JDK安装状况

javac:

echo $PATH:查看本身刚刚设置的环境变量配置是否都正确

至此jdk 安装完成,过程比较简单

三、安装tomcat

3.一、下载tomcat 压缩包

在下载地址,选择想要下载的压缩包

http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.93/bin/
复制代码
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.93/bin/apache-tomcat-7.0.93.tar.gz
复制代码

3.二、解压

tar -zxvf apache-tomcat-7.0.93.tar.gz
复制代码

3.三、配置一下tomcat的环境变量置,进入tomcat的bin目录后经过vim命令打开catalina.sh文件,加入以下配置

export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-7.0.93
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-7.0.93
export JRE_HOME=/usr/local/jdk/jdk1.8.0_201-amd64/jre
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201-amd64

复制代码

3.四、若是想要改tomcat的访问端口,进入tomcat的conf目录下,修改server.xml文件

3.五、启动tomcat,切换到tomcat的bin目录输入启动命令

./startup.sh
复制代码

由于前面已经关闭防火墙了,因此能够直接访问 http://192.0.0.179:8088/

查看tomcat 日志 tomcat 日志的日志文件在logs 目录下面

#实时查看日志文件 最后20行
tail -n 20 -f logs/catalina.out
复制代码

四、安装redis

4.一、首先上官网下载Redis 压缩包,地址:redis.io/download

wget http://download.redis.io/releases/redis-5.0.3.tar.gz
复制代码

4.二、解压redis

tar zxvf redis-5.0.3.tar.gz
复制代码

4.三、进入到解压后的路径

cd redis-5.0.3
复制代码

4.四、编译

make
复制代码

注意若是要是报“/bin/sh: cc: command not found” 这个错,就先安装gcc环境

yum install gcc
复制代码

若是还要是报

则更改make命令,为

make MALLOC=libc
复制代码

4.五、编译完成后进入 src 目录进行安装

cd src
make install
复制代码

4.六、配置

关于bind

翻看网上的文章,此处多翻译为"指定 redis 只接收来自于该 IP 地址的请求,若是不进行设置,那么将处理全部请求,在生产环境中最好设置该项"。这种解释会 totally 搞糊涂初学者,甚至是错误的。该处的英文原文为:

If you want you can bind a single interface, if the bind option is not # specified all the interfaces will listen for incoming connections. 
bind 127.0.0.1
复制代码

该处说明 bind 的是interface,也就是说是网络接口。服务器能够有一个网络接口(通俗的说网卡),或者多个。打个比方说机器上有两个网卡,分别为 192.168.205.5 和 192.168.205.6,若是 bind 192.168.205.5,那么只有该网卡地址接受外部请求,若是不绑定,则两个网卡口都接受请求。

OK,不知道讲清楚没有,在举一个例子。在我上面的实验过程当中,我是将bind项注释掉了,实际上我还有一种解决方案。因为我redis服务器的地址是 192.168.1.4 。若是我不注释bind项,还有什么办法呢?我能够作以下配置:

bind 192.168.1.4
复制代码

这里不少人会误觉得绑定的ip应该是请求来源的ip。其实否则,这里应该绑定的是你redis服务器自己接受请求的ip。


Redis默认不是以守护进程的方式运行,能够经过该配置项修改,使用yes启用守护进程
daemonize yes
复制代码

redis的连接端口

port 6379
复制代码

表示是否须要密码登录 注释掉就是不用密码

requirepass 123456
复制代码

咱们在配置完了这个redis.conf以后 最好用conf来运行redis-server,默认路径conf在redis-server的上层

./redis-server ../redis.conf
复制代码

4.七、服务端启动成功后,执行redis-cli启动Redis 客户端

redis-cli
复制代码

测试redis 启动成功

./redis-cli #默认是6379端口
复制代码

指定端口的方式:

./redis-cli -p 6380
复制代码

若是须要密码:

./redis-cli -p 6380 -a 你的密码
复制代码

客户端连接成功后执行‘shutdown’命令,服务器就关闭了

五、安装nginx

5.一、安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
复制代码

5.二、安装 PCRE

PCRE 做用是让 Nginx 支持 Rewrite 功能。

下载 PCRE 安装包,下载地址: downloads.sourceforge.net/project/pcr…

cd /usr/local/src/

wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
复制代码

解压安装包:

tar zxvf pcre-8.35.tar.gz
复制代码

进入安装包目录

cd pcre-8.35
复制代码

编译安装

./configure

make && make install
复制代码

查看pcre版本

pcre-config --version
复制代码

5.三、安装Nginx

下载 Nginx,下载地址:http://nginx.org/download/nginx-1.6.2.tar.gz

wget http://nginx.org/download/nginx-1.6.2.tar.gz
复制代码

解压安装包:

tar zxvf nginx-1.6.2.tar.gz
复制代码

进入安装包目录

cd nginx-1.6.2
复制代码

编译安装

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35

make

make install
复制代码

查看nginx版本

/usr/local/webserver/nginx/sbin/nginx -v
复制代码

至此nginx安装完成。

5.四、Nginx 配置

#user nobody;
worker_processes  2;

error_log  logs/error.log crit;
#error_log logs/error.log notice;
#error_log logs/error.log info;

pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    # '$status $body_bytes_sent "$http_referer" '
    # '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log logs/access.log main;

    sendfile        on;
    #tcp_nopush on;

    #keepalive_timeout 0;
    keepalive_timeout  65;

    #gzip on;


    #须要代理的服务器列表,weight=n 可设置权重 
    upstream mynginx{
        server 192.0.0.179:8088;  
    }

    server {
        listen  8888;#监听端口
        server_name  192.0.0.179;#监听域名或ip

        #charset koi8-r;

        #access_log logs/host.access.log main;

        location / {
            //该指令设置与upstream server的链接超时时间,有必要记住,(这个超时不能超过75秒?),默认60s
            proxy_connect_timeout 75s;
            
            //该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来得到请求的响应。这个时间不是得到整个response的时间,而是两次reading操做的时间,默认为60s
            proxy_read_timeout 3600s;
            
            //这个指令设置了发送请求给upstream服务器的超时时间。超时设置不是为了整个发送期间,而是在两次write操做期间。若是超时后,upstream没有收到新的数据,nginx会关闭链接.默认60s
            proxy_send_timeout 3600s;
            
            root   html;
            index  index.html index.htm;
            proxy_pass  http://mynginx;
        }

        #error_page 404 /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}

复制代码

检查配置文件nginx.conf的正确性命令:

/usr/local/webserver/nginx/sbin/nginx -t
复制代码

Nginx 启动命令以下:

/usr/local/webserver/nginx/sbin/nginx
复制代码

从新载入配置文件

/usr/local/webserver/nginx/sbin/nginx -s reload   
复制代码

重启 Nginx

/usr/local/webserver/nginx/sbin/nginx -s reopen
复制代码

中止 Nginx

/usr/local/webserver/nginx/sbin/nginx -s stop
复制代码

Nginx启动以后,访问站点进行测试,地址是上面配的server_name,端口是listen,192.0.0.179:8888

六、安装Mysql(5.6版本)

也是找了不少教程,tar 包解压安装老是出问题,也不知道是否是打开方式不对,索性就使用yum 安装了,一次成功。

6.一、检查系统中是否已安装 MySQL

rpm -qa | grep mysql
复制代码

返回空值的话,就说明没有安装 MySQL 若是要是有就先移除之前的版本。

6.二、查看已安装的 mysql 数据库版本。

rpm -qa|grep -i mysql
复制代码

6.三、卸载已安装的 mysql 数据库。

rpm -qa|grep mysql|xargs rpm -e --nodeps
复制代码

6.四、下载rpm 安装包文件。

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
复制代码

6.五、安装rpm 包

rpm -ivh mysql-community-release-el7-5.noarch.rpm
复制代码

安装完成以后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repo 、mysql-community-source.repo 两个 yum 源文件。

执行 yum repolist all | grep mysql 命令查看可用的 mysql 安装文件。

6.六、安装mysql

若是安装5.7版本须要进行下面两步操做,5.6版本直接跳过这两步

禁用MySQL5.6的源
yum-config-manager --disable mysql56-community
启用MySQL5.7的源
yum-config-manager --enable mysql57-community-dmr

若是报错:yum-config-manager: command not found
这个是由于系统默认没有安装这个命令,这个命令在yum-utils 包里,能够经过命令“ yum -y install yum-utils ” 安装就能够了。
复制代码

安装MySQL 服务

yum install mysql-server
复制代码

6.七、检查mysql是否安装成功

rpm -qa | grep mysql
复制代码

6.八、启动 mysql 服务

systemctl start mysqld.service #启动 mysql
systemctl restart mysqld.service #重启 mysql
systemctl stop mysqld.service #中止 mysql
systemctl enable mysqld.service #设置 mysql 开机启动

复制代码

6.九、设置密码

mysql5.6 安装完成后,它的 root 用户的密码默认是空的,咱们须要及时用 mysql 的 root 用户登陆(第一次直接回车,不用输入密码),并修改密码。

mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("这里输入root用户密码") where User='root';
mysql> flush privileges; 
复制代码

5.7 的版本貌似加入了不少安全机制,这里修改密码先要临时修改一下密码设置

查看临时密码:安装完成后的临时密码,在/var/log/mysqld.log文件中

grep "A temporary password"  /var/log/mysqld.log
复制代码

mysql -u root -p
set global validate_password_policy=0; 
set global validate_password_length=1;
ALTER USER 'root'@'localhost' IDENTIFIED BY '*********';
复制代码

6.十、设置远程主机登陆

为root 用户添加远程登陆的能力:

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
复制代码

到此MySQL安装完成,测试链接没有问题。

6.十一、关闭大小敏感 通常配置文件在 etc 下

进这个目录 vim /etc/my.cnf 加上

lower_case_table_names = 1
复制代码

一行就能够了;

开放防火墙某个端口:iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

相关文章
相关标签/搜索