Linux搭建服务器
一、编写目的
一台Linux从无到可以发布版本的过程记录,互相学习,如果有错误或者疏漏的地方,麻烦指出,如果有问题可以联系QQ:1219649500
二、装载yum源
有的CentOS是自带yum源的,但是像我接触过得小红帽版本都是需要自己配置yum源的。
① 如何查看自己是否拥有yum源
最简单的就是,对于一个新系统,利用yum装载一个插件比如【yum insatll wget】如果可以则说明是有yum源可以下载的。但是
像这种就表示需要自己手动配置yum源。
或者 运行【yum repolist all】查看自己的本地包。如果出现
库为0则是需要自己装载的。
PS :对于没有yum源的系统,查看自己的IP 就不能用【ifconfig -a】查看了,因为ifconfig是需要自己装的命令【yum install net-tools】,可以用【ip addr】查看
PS :机器必须带网络才能下载!!! 先看下自己的机器有没有网路。
虚拟机的话安装的时候点击下这个。
不是虚拟机的话,配置下DNS。
知道了ip,我们用XShell就可以连接,然后传文件了。
② 前期准备
【cd /etc/yum.repos.d】
查看文件夹下有没有【CentOS-Base.repo】这个文件,有的话,先备份文件
【cp ./CentOS-Base.repo ./CentOS-Base.repo.backup】
没有的话就创建文件
【touch CentOS-Base.repo】
③ 下载镜像包
这个要根据系统来
CentOS7的 下载【http://mirrors.aliyun.com/repo/Centos-7.repo】
CentOS6的 下载【http://mirrors.aliyun.com/repo/Centos-6.repo】
CentOS5的 下载【http://mirrors.aliyun.com/repo/Centos-5.repo】
系统带wget的就用wget命令下,没有就在浏览器搜索这个网址,下载到本地,然后传到Linux上,
wget命令【wget /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo】
没有的wget,将文件上传到服务器,然后删除原来的CentOS-Base.repo 重命名文件
最后如下
④ 第四步
运行【 yum clean all】,【yum makecache】
注意!!!
如果你是小红帽,执行【yum makecache】可能会报错,如果没有报错则跳过,
你查看你的下载阿里云的包Centos-7.repo
这个
r
e
l
e
a
s
e
v
e
r
版
本
号
应
该
是
7
,
但
是
小
红
帽
的
版
本
号
是
7
S
e
r
v
e
r
所
以
404
,
因
此
我
们
修
改
这
个
文
件
,
将
releasever版本号应该是7,但是小红帽的版本号是7Server所以404,因此我们修改这个文件,将
releasever版本号应该是7,但是小红帽的版本号是7Server所以404,因此我们修改这个文件,将releasever 全部替换成7即可,centOs6的就替换成成6,总之就是要让这个镜像网址能访问到即可。
我这边提供一个已经替换过的CentOS-Base.repo供下载,centOS7的
【链接:https://pan.baidu.com/s/1PIWiLnsnbtLbFyJ8Pw2oqQ&shfl=sharepset
提取码:yowv 】
运行【 yum clean all】,【yum makecache】。完事
⑤ 测试
随便下载一个插件,执行【yum install wget】,
二、安装JDK
① 创建目录
【cd /home】 【mkdir jdk】
②下载jdk包
【cd jdk】
下载JDK ,我这边就不听提供下载网址了,给一个百度云网址,下载直接传到文件夹就行
链接:https://pan.baidu.com/s/1fxlSXqMzswI4e-BJjMxTLQ&shfl=sharepset
提取码:cdf3
复制这段内容后打开百度网盘手机App,操作更方便哦
③ 解压缩
【tar -zxvf ./jdk-8u231-linux-x64.tar.gz】
④ 配置环境变量
【vi /etc/profile】
输入【i】 进入插入模式
在最下方输入
export JAVA_HOME=/home/jdk/jdk1.8.0_231
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
按【ESC】退出插入模式
按【:wq!】保存
PS:JAVA_HOME即 jdk的安装目录
不习惯linux的可以先把profile这个文件下载到本地,修改后在上传到服务器,覆盖文件。
按【source /etc/profile】使修改生效
⑤测试
执行【java -version】出现版本号即正确。
三、安装tomcat
① 创建目录
【mkdir /home/tomcat】 【cd /home/tomcat】
② 下载tomcat
下载tomcat,我这边就不听提供下载网址了,给一个百度云网址,下载直接传到文件夹就行
链接:https://pan.baidu.com/s/14-DXxcy0mk8CZQNudnaKOw&shfl=sharepset
提取码:tx8x
复制这段内容后打开百度网盘手机App,操作更方便哦③ 解压缩
③ 解压缩
【tar -zxvf apache-tomcat-8.5.43】
④ tomcat 启动
【cd ./apache-tomcat-8.5.43/bin】
【./startup.sh】
//需要执行步骤六,关闭防火墙
⑤ tomcat关闭
【./shutdown.sh】
四、安装nginx
① 准备
安装前确保是否已经安装了gcc、pcre-devel、zlib-devel、openssl-devel
没有的话 执行
【yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
】
② 下载nginx
【 cd /usr/local】
【mkdir nginx】
【cd ./nginx/】
【wget http://nginx.org/download/nginx-1.16.1.tar.gz】
③ 解压缩
【tar -zxvf nginx-1.16.1.tar.gz】
④ 编译安装
【cd /usr/local/nginx/nginx-1.16.1】
【./configure 】
【make】
【make install】
⑤ nginx 启动
【./sbin/nginx -c ./conf/nginx.conf】
启动时带的配置文件是nginx下的conf 而不是我们解压缩后的nginx-1.16下的conf文件夹
⑥ 检测是否启动成功
【ps -ef |grep nginx】 有进程号即可
⑦ nginx关闭
【./sbin/nginx -s stop】
五、安装MySQL
安装之前建议卸载原来的mysql,我这里就不说了,网上一堆。
① 下载mysql
【cd /usr/local/】
【wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz】
② 解压缩
【tar -zxvf ./mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz】
③ 创建用户和组
【groupadd mysql】
【useradd -g mysql mysql】
④ 安装
------------------------接下来的每一步都很重要!!!!!
重命名mysql
【cp -r /usr/local/mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql】
进入mysql目录
【cd /usr/local/mysql】
创建数据路径
【mkdir ./data/mysql】
-----接下来的操作都是在mysql目录下,目录别cd错了,不然找不到文件。
初始化用户
【chown -R mysql:mysql ./】
【./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql】
<--------- 分隔符
#如果↑这句报错
bash: ./vmware-install.pl: /user/bin/perl: 坏的解释器:没有那个文件或目录(虚拟机用户可能会遇到这种问题。)
#解决方案 【yum install perl gcc kernel-devel】【yum install perl gcc kernel-devel】
分隔符 ---------->
复制文件
【cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld】
赋予权限
【chmod 777 /etc/init.d/mysqld】
复制文件
【cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf】
修改文件-------如果没有不熟悉vi命令的,就直接先下载到本地,然后再上传覆盖就行。
【vi /etc/init.d/mysqld】
在内容中添加【basedir=/usr/local/mysql/】【datadir=/usr/local/mysql/data/mysql】
启动mysql
【service mysqld start】
测试登录
【/usr/local/mysql/bin/mysql -uroot】
加入环境变量,使得可以任何地方使用mysql,不熟悉vi的,先下载到本地。
【vi /etc/profile】
加入在PATH下加入内容【:/usr/local/mysql/bin】
保存
【source /etc/profile】
启动mysql
【service mysqld start】
查询状态
【service mysqld status】
进入mysql数据库,默认用户root 密码空
【mysql -uroot -p】
新增用户
【create user “xnj”@"%" identified by “123456”;】
xnj是用户名,%是任意登录ip,123456是密码。
刷新
【flush privileges】
赋予权限
【grant all privileges on . to ‘xnj’@’%’ identified by ‘123456’;】
第一个是任意数据库名,第二个是任意表名,xnj是用户名,%是任意ip,123456是密码。
刷新
【flush privileges】
开启3306数据端口
【firewall-cmd --permanent --add-port=3306/tcp】
重启防火墙
【systemctl restart firewalld】
本地Navicat测试
六、windows和linux挂载
非常简单
在Windows上选择需要共享的目录,比如
Window10电脑,右键文件夹点击【特定用户】
点击共享
在Linux上执行
【mount -t cifs -o username=你的用户名,password=你的密码 //你的IP/LinuxShare /home/share/windows/】
LinuxShare为我自己创建的windows共享目录
/home/share/windows/ 为我自己创建的Linux共享目录
测试
七、linux和linux挂载
使用之前执行步骤八,关闭防火墙。!!!!!
防火墙关闭状态
申明:
A:服务机 B:客户机。将A的文件挂载到B上。
在A,B机器上操作:
【yum -y install nfs-utils】
【yum -y install portmap】
A机器:
查看nfs,portmap运行状态
【service nfs status】
【service rpcbind status】(部分老机器是【service portmap status】)
【vi /etc/exports】
添加【/home/data B的ip(ro,sync,no_root_squash)】
即:将A机器的/home/data目录 共享到B机器
举例:【/home/share/linux 192.168.50.114(ro,sync,no_root_squash)】
【service nfs restart】
【service rpcbind restart】
B机器: 【service nfs status】
【service rpcbind status】
【mount -t -nfs A的ip:A的目录 B的目录】
解释:将A的目录挂载到B的目录,A的目录是上面在A中共享的目录。
举例:【mount -t -nfs 192.168.50.114:/home/share/linux /home/share】
测试:在B机器上输入【mount】即可查看
八、防火墙
① 查看防火墙状态
【systemctl status firewalld】
Active:inactive为关闭状态,running为开启状态
② 打开防火墙
永久打开【systemctl enable firewalld】
临时打开【systemctl open firewalld】
③ 关闭防火墙
永久关闭【systemctl disable firewalld】
临时关闭【systemctl stop firewalld】
部分老版本的Linux 使用的是
【service iptables status】
【service iptables stop】暂时关闭
【service iptables off】永久关闭
纯收打
有问题的话联系QQ:1219649500