linux-centOS笔记

在windows上漂太久了,终于是下定决心要开始linux的踩坑之路,一个小白就这样上百了,感谢度娘和各位大佬提供的经验,本菜鸟在此留下学习的点点滴滴,以作备忘

linux的安装

这个我直接在华为云申请了一个centos体验,暂时还没接触到安装linux的相关内容

 

 

-------------------------------------------------------分割线-------------------------------------------------------

vim - 我把他理解为linux下的记事本

检查vim是否正常安装,显示内容如下,说明安装正确了

[root@Centos ~]# rpm -qa|grep vim
vim-filesystem-7.4.160-4.e17.x86_64
vim-common-7.4.160-4.e17.x86_64
vim-minimal-7.4.160-4.e17.x86_64
vim-enhanced-7.4.160-4.e17.x86_64

如果缺少任何一项,那得重新安装一下啊,比如缺少vim-enhanced

[root@Centos ~]# yum -y install vim-enhanced

如果一项都没有,用下面的命令全新安装

[root@Centos ~]# yum -y install vim*

vim的进入和退出

进入

进入vim并打开con.cfg文件:vim  /usr/local/con.cfg,执行此命令,若con.cfg文件存在则打开,若不存在则创建之。进入编辑器后,我们先按"I”(这里是大写字母"I"),即切换到“插入”状态。

退出

首先按"ESC"键退出编辑模式,输入":"冒号,进入命令模式,然后执行以下命令:

a.退出:q

b.保存退出:wq

c.不保存退出:q!

d.前置退出:!

-------------------------------------------------------分割线-------------------------------------------------------

Linux下常用的操作

-------------------------------------------------------

查找文件

locate filename

有些版本的linux会出现 -bash: locate: command not found错误,不要慌,安装一下mlocate包就好

[root@CentOS ~]# yum -y install mlocate
[root@CentOS ~]# updatedb

-------------------------------------------------------

列出文件

[root@CentOS ~]# ls -al

 -------------------------------------------------------

进入目录

  • 进入指定目录:cd path
  • 直接进入用户的home目录: cd ~
  • 进入上一个目录: cd -
  • 进入当前目录的上一层目录: cd ..
  • 进入当前目录的上两层目录: cd ../..

 一些技巧

  • 利用tab键,自动补全目录名称
  • 利用ln -s命令,为长目录建立软连接
  • 利用export命令,为长目录设置环境变量dirpath,然后通过cd $dirpath的方式进入
  • 利用alias命令,设置目录别名

示例:

[~]$ cat ~/.bashrc |grep alias
alias ifcfg='cd /etc/sysconfig/network-scripts/'
# User specific aliases and functions
[~]$ 
[~]$ source ~/.bashrc # 使配置生效
[~]$ ifcfg
[network-scripts]$ pwd
/etc/sysconfig/network-scripts
[network-scripts]$

 

清屏

1、clear:刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。
2、Ctrl+l(小写的L):清屏快捷键,清屏效果同clear一样。
3、reset:完全刷新终端屏幕,之前终端输入操作信息将都会被清空,这样虽然比较清爽,但整个命令过程速度有点慢,使用较少。
值得一提的是reset命令在你的终端控制错乱时非常有用。如输入字符不出现在光标的位置的情况。还有当你敲击回车键时,新提示符并没有出现在新行上而是出现在老提示符的前面。此时reset命令就能用来修正这些问题。
4、printf "\033c":这个命令它才是真正的清空了终端屏幕,它的功能跟DOS提供的CLS效果很相似。

但这个命令究竟是做什么的?它的工作原理是什么?
\033  ==  \x1B == 27 == ESC
于是,这个命令变成了<ESC>c,它是VT-XXX中表示“Full Reset (RIS)”的转义码。现今我们使用的所有的终端都是VT兼容的,它的另一种实现方式也可以这样:
键盘上Ctrl+v--->Esc-->输入c再回加。但如果你发现自己使用的是一个非常奇怪的终端(如笔者曾经在putty上作过测试),那这个命令你可能用不了。
printf是bash里内置的命令,内置命令的优先级比其它可执行文件要高。
通过上面的4个清屏方式比较,有人喜欢,在PATH路径下,如/usr/bin/目录下新建一个名为cls的文件,加上执行权限,写入如下内容:

[root@CentOS bin]# vim cls
#bin bash
#
printf("\033c")

这样的话我们每次需要清屏的时候,只需要输入cls命令就可以了。

 

 

-------------------------------------------------------分割线-------------------------------------------------------

搭建LAMP服务器环境

检查服务是否安装

httpd -v  --查看apche版本信息

which httpd  --查看apche安装位置

yum list installed | grep php  --查看已安装的PHP版本

安装Mysql

数据库常用命令:http://www.runoob.com/sql/sql-distinct.html

1.下载mysql-server文件,过程中遇到询问y/n/d,一路y下去

[root@Centos ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2.安装mysql-server服务

[root@Centos ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@Centos ~]# yum install mysql-server
[root@Centos ~]# service mysqld restart

3.设置Mysql管理员root密码

[root@Centos ~]# mysql -uroot
mysql> set password for 'root'@'localhost' = password('yourpassword');

4.如果需要远程连接Mysql,需要配置Mysql的远程连接

a.授权远程连接用户

mysql> grant all privileges on *.* to 'user'@'%' identified by 'password' with grant option;

b.刷新权限

mysql> flush privileges;

c.检查权限

mysql> select distinct concat('user:''',user,'''@''',host,''';') as query from mysql.user

出现以下内容说明配置正确

+--------------------------+
| query                    |
+--------------------------+
| user:'yourname'@'%';     | #如果结果中包含这一行,说明配置正确,其中的"yourname"是你设置的username
| user:'root'@'127.0.0.1'; |
| user:'root'@'::1';       |
| user:'root'@'localhost'; |
+--------------------------+

d.退出MySQL

mysql> exit;

e.查找mysql当前使用的my.cnf路径

  1. 查看是否指定了my.cnf
    [root@Centos ~]# ps aux|grep mysql|grep 'my.cnf'

    如果以上命令有输出,那么输出的内容即为指定的my.cnf信息,如果上面的命令没有输出,表示没有设置指定的my.cnf。

  2. 查看mysql默认读取my.cnf的目录
    [root@Centos ~]# mysql --help|grep 'my.cnf'

    该命令会列出mysql默认搜寻到的my.cnf的目录,顺序排前的优先。

  3. 启动时没有使用配置文件

如果没有设置使用指定目录my.cnf文件及默认读取目录没有my.cnf文件,表示mysql启动时并没有加载配置文件,而是使用默认配置。

需要修改配置,可以在mysql默认读取的目录中,创建一个my.cnf文件(例如:/etc/my.cnf),把需要修改的配置内容写入,重启mysql后即可生效。

f.修改my.cnf

[root@Centos ~]# vim  /etc/my.cnf

1.将 bind-address = 127.0.0.1 设置成 bind-address  = 0.0.0.0(设备地址)

2.重启mysql

[root@Centos ~]# service mysql stop
[root@Centos ~]# service mysql start

补充说明

[root@Centos ~]# service mysql status --查看有没有打开服务
[root@Centos ~]# service mysql start --打开服务
[root@Centos ~]# service mysql stop --停止服务
[root@Centos ~]#
service mysql restart --重启服务

 

g.查看端口号

[root@CentOS ~]# mysql -uroot -p'password'
mysql> show global variables like 'port'; 
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+

h.如果上面的操作都做晚了,远端工具还无法连接mysql,那么需要在防火墙中放开端口3306

先查看3306端口是否打开

[root@CentOS ~]# netstat -nupl (UDP类型的端口)
[root@CentOS ~]# netstat -ntpl (TCP类型的端口)
a --表示所有
n --表示不查询dns
t --表示tcp协议
u --表示udp协议
p --表示查询占用的程序
l --表示查询正在监听的程序

 

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

systemctl的基本用法
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

下面就要用到这个工具在搞事情了

[root@CentOS ~]# systemctl stop firewalld --关闭防火墙,不管防火墙有没有关 都使用该命令关闭防火墙
[root@CentOS ~]# yum install iptables-services --安装|更新iptables服务
[root@CentOS ~]# systemctl enable iptables --设置开机启动iptables
[root@CentOS ~]# systemctl start iptables --打开iptables
--执行下面的命令是因为locate iptables没有找到/etc/sysconfig/iptables,如果你的系统中有这个文件,请忽略下面的命令 [root@CentOS
~]# iptables -P OUTPUT ACCEPT --随便写一条iptables命令配置个防火墙规则 [root@CentOS ~]# service iptables save --保存 [root@CentOS ~]# service iptables restart --重启
[root@CentOS ~]# vim /etc/sysconfig/iptables
~ -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-- 看到有个兄弟是下面这样写的,不知道有什么区别
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
添加在-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited或者-A INPUT -j REJECT –reject-with icmp-host-prohibited之前
[root@CentOS ~]# service iptables restart --重启

我执行完上面的所有操作之后,navcat依然是无法连接mysql服务器,最后是在华为云网络控制台编辑安全组,新增了3306端口,然后就可以连接,白折腾半天。。。

至此,mysql远程连接配置完成。

安装apache

apche的安装比较简单

[root@centos ~]# yum install httpd

然后就是修改配置文件

[root@centos ~]# vim /etc/httpd/conf/httpd.conf
  • 将#ServerName www.example.com:80            改为  ServerName localhost:80
  • 将#Listen      改为  Listen:portnum (portnum是您的linux中已开启的端口号)

配置完成后启动服务、检查服务状态

[root@centos ~]# service httpd start
[root@centos ~]# service httpd status

测试连接

在浏览器地址栏输入 ip:port 访问您的站点,出现下面这样的页面就表示成功了

最后将httpd服务添加到开机启动

[root@CentOS]# systemctl enable httpd
服务目录 /etc/httpd
主配置文件 /etc/httpd/conf/httpd.conf
网站数据目录 /var/www/html
访问日志 /var/log/httpd/access_log
错误日志 /var/log/httpd/error_log

主配置文件 /etc/httpd/conf/httpd.conf 中常用的参数

ServerRoot 服务目录
ServerAdmin 管理员邮箱
User 运行服务的用户
Group 运行服务的用户组
ServerName 网站服务器的域名
DocumentRoot 网站数据目录
Listen 监听的IP地址与端口号
DirectoryIndex 默认的索引页页面
ErrorLog 错误日志文件
CustomLog 访问日志文件
Timeout 网页超时时间,默认为300秒.
Include 需要加载的其他文件

更加详细的内容可以参考https://blog.csdn.net/u011277123/article/details/77847360/

安装PHP

--PHP5.4
yum install -y php

--PHP7.0yum-config-manager --enable remi-php70
yum -y install php php-opcache

--PHP7.1yum-config-manager --enable remi-php71
yum -y install php php-opcache

这些都不是我要的版本,我需要的是5.6的版本,总不能让我一个小白自己动手编译吧。因为在windows平台运维很长一段时间了,所以知道5.6这个版本使用的人还是很有的,所以一定有源,功夫不负有心人,找到了,下面来记录一下是如何安装的

配置yum源

CentOS 6.5

# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

CentOS 7.0

# yum install epel-release
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

使用yum list命令查看可安装的包(Packege)。

# yum list --enablerepo=remi --enablerepo=remi-php56 | grep php

安装PHP5.6

yum源配置好了,下一步就安装PHP5.6。

# yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof

用PHP命令查看版本。

# php --version
PHP 5.6.38 (cli) (built: Oct 24 2018 12:50:38) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans

在这里安装的版本是PHP5.6.38

安装完成,重启apche

# service httpd restart

至此LAMP环境就搭建完成了

测试

# vim /var/www/html/test.php
<?php
    phpifo()
?>
:wq

然后在浏览器地址栏输入 ip:port/test.php,出现如图的结果,环境配置成功

 

posted @ 2018-11-09 11:25  Yiven  阅读(311)  评论(0编辑  收藏  举报