Centos7 lnmp环境搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/QinDaBao_/article/details/88352724

1 安装EPEL源

yum -y install epel-release.noarch

or

sudo yum install epel-release

2 手动进行

升级所有包,改变软件设置和系统设置,系统版本内核都升级

yum -y update

升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变

yum -y upgrade

出现 remi could not retrieve mirrorlist 的错误有可能是DNS设置问题,用以下方法解决

在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了。和CentOS 6下的设置DNS方法不同,有几种方式:

(1)使用全新的命令行工具 nmcli 来设置

#显示当前网络连接

#nmcli connection show
NAME UUID                                 TYPE           DEVICE
eno1 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eno1

#修改当前网络连接对应的DNS服务器,这里的网络连接可以用名称或者UUID来标识

#nmcli con mod eno1 ipv4.dns "114.114.114.114 8.8.8.8"

#将dns配置生效

#nmcli con up eno1

(2)使用传统方法,手工修改 /etc/resolv.conf

修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项:

plugins=ifcfg-rh
dns=none

NetworkManager重新装载上面修改的配置

#systemctl restart NetworkManager.service

手工修改 /etc/resolv.conf

nameserver 114.114.114.114
nameserver 8.8.8.8

Nginx 安装

添加nginx官方库

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum -y install nginx

MySQL 安装

在CentOS命令行,运行

sudo rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

将其添加到yum库。

运行

sudo yum install mysql-server

安装MySQL

运行

sudo systemctl start mysqld

登录并修改MySQL的root密码

mysql> USE mysql ;
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; 
mysql> flush privileges ; 
mysql> quit

允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:
在本机先使用root用户登录mysql:

mysql -u root -p"youpassword" 

进行授权操作:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

win下远程访问可能还需要如下步骤

mysql>use mysql;
mysql>update user set password = password('newpassword') where user='root';
mysql>Flush privileges;

PHP5.6 安装

http://www.if-not-true-then-false.com/2010/install-apache-php-on-fedora-centos-red-hat-rhel/comment-page-3/
https://www.ifshow.com/the-new-centos-7-install-lnmp-linux-nginx-mariadb-php-and-multi-site-configuration/

vsfptd 安装

https://www.ifshow.com/centos-7-install-vsftpd-with-pasv-over-ssl-explicit/

新建ftp用户:

useradd -d /home/ftp -g ftp -s /sbin/nologin ftptest

passwd ftptest

/etc/vsftpd/chroot_list 添加刚才的用户

CentOS7 安裝 golang

wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz

tar -xzf go1.4.linux-amd64.tar.gz 

vim /etc/profile //寫在最底下

export GOROOT=/data1/go    (改成自已放置的位置)
export PATH=$PATH:$GOROOT/bin
export GOPATH=/data1/goWork  (改成自已放置的位置)

yum install git

go version

搭建ngrok

http://ekan001.com/article/38

bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":8000"

修改全局配置并立即生效

nano /etc/profile
source /etc/profile   //使配置立刻生效

CentOS 7开机启动脚本

在/etc/rc.d/init.d这个文件中输入的命令在开机时会执行,所以如果只是简单语句可以直接写进去,如果是个脚本,就可以通过这个文件去调用你自己的脚本,经过尝试,结果开机并没有执行,然后发现了文件中的这句话:

# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

ls -l一下发现确实缺少执行权限,于是执行chmod +x /etc/rc.d/rc.local后再重启便成功了。

启动服务命令

#自启动

systemctl enable docker.service

#关闭自启动

systemctl disable docker.service

#显示已启动服务

systemctl list-units --type=service

#服务详细信息

systemctl status docker.service

#仅显示是否 Active

systemctl is-active docker.service

#启动服务

systemctl start docker.service

#暂停服务

systemctl stop docker.service

#重启服务

systemctl restart docker.service

Centos7开放端口

Centos升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:

CentOS7 防火墙

http://havee.me/linux/2015-01/using-firewalls-on-centos-7.html

开启端口

firewall-cmd --zone=public --add-port=80/tcp --permanent 

命令含义:

--zone #作用域 
--add-port=80/tcp #添加端口,格式为:端口/通讯协议 
--permanent #永久生效,没有此参数重启后失效 

重启防火墙

firewall-cmd --reload

Laravel 空白页

chmod -R 777 app/storage //给了权限就可以

unzip解压

在linux下解压zip文件,最简单的方式就是unzip命令直接跟上要解压的zip文件。

unzip <zip-file>

上面的用法是把文件解压到当前目录下,如果要把文件解压到指定的目录下,需要用到-d参数。

unzip -d <dst-dir> <zip-file>

解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数。

unzip -n <zip-file>
unzip -n -d <dst-dir> <zip-file>

有时候,我们只想看一下zip压缩包中包含哪些文件,就可以使用-l参数。

unzip -l <zip-file>

我们在使用WinZip或WinRar的时候,它显示的文件列表还包含压缩比率,unzip命令使用-v命令也可以看到这些信息。

unzip -v <zip-file>

我们经常会碰到这种情况,从网上下载的zip文件可能不完整,在使用WinZip或WinRar打开的时候,会报错,unzip提供了-t参数来检查zip文件是否损坏。

unzip -t <zip-file>

如果在unzip命令后,增加 -o的参数,则不再进行询问,直接覆盖原文件解压缩,节省了很多事儿。

unzip -o  filename.zip

如何把tar.gz格式文件解压到指定目录?
格式 :#tar zxvf *.tar.gz -C 您想指定的目录。一个简单例子:
比如把kleandisk-2.1.tar.gz解压后,释放到/home/cao目录下。可以这样:

#tar zxvf  kleandisk-2.1.tar.gz -C /home/cao

基本语法:

chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:用户组名称 文件或目录

参数:
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
都更新成为这个用户组。常常用在更改某一目录的情况。
示例1:

[root@localhost home]# touch testfile //由 root 用户创建文件 
[root@localhost home]# ls testfile –l 
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile //文件的拥有者及拥有者级均为 root 
[root@localhost home]# chown yangzongde testfile //修改文件拥有者为 yangzongde 
[root@localhost home]# ls testfile -l 
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组仍为 root 

示例2:

chown bin install.log
ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log
chown root:root install.log
ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

三、使用chgrp命令更改文件所属用户组
在shell中,可以使用chgrp命令来改变文件所属用户组,该命令就是change group(改变用户组)的缩写。需要注意的是要改变成为的用户组名称,必须在/etc/group里存在,否则就会显示错误。
基本语法:

chgrp [-R] 用户组名称 dirname/filename ...

参数:
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
都更新成为这个用户组。常常用在更改某一目录的情况。
示例3

[root@localhost home]# ls testfile -l 
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组为 root 
[root@localhost home]# chgrp yangzongde testfile //修改拥有者组为 yangzongde 
[root@localhost home]# ls testfile -l 
-rw--w--w- 1 yangzongde yangzongde 0 Jun 7 19:35 testfile 
[root@localhost home]# chown root:root testfile // 使用 chown 一次性修改拥有者及组 
[root@localhost home]# ls testfile -l 
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile 

示例4

[root@linux ~]# chgrp users install.log
[root@linux ~]# ls -l
-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log

示例5
更改为一个 /etc/group里不存在的用户组

[root@linux ~]# chgrp testing install.log
chgrp: invalid group name `testing' <== 出现错误信息~找不到这个用户组名~

CentOS7 修改时区

timedatectl 命令

timedatectl //等同于 timedatectl status 查看当前服务器时区

2.2 设置时间

timedatectl set-time "YYYY-MM-DD HH:MM:SS"

2.3 列出所有时区

timedatectl list-timezones

2.4 设置时区

timedatectl set-timezone Asia/Shanghai

2.5 是否NTP服务器同步

timedatectl set-ntp yes //yes或者no

2.6 将硬件时钟调整为与本地时钟一致

timedatectl set-local-rtc 1
hwclock --systohc --localtime //与上面命令效果一致
  • 注意 硬件时钟默认使用UTC时间,因为硬件时钟不能保存时区和夏令时调整,修改后就无法从硬件时钟中读取出准确标准时间,因此不建议修改。修改后系统会出现下面的警告。

2.6 硬件时间设置成 UTC:

timedatectl set-local-rtc 1
hwclock --systohc --utc  //与上面命令效果一致

git添加 ssh

问题:Permission denied (publickey).
查看我的密钥

ls ~/.ssh/ 
# bajie  bajie.pub  known_hosts 

发现我的id_rsa文件我命令为bajie, 所以根本没有使用它。同时可以使用如下命令查看密钥列表:

ssh-add -l

上面命令的密钥列表为空,所以要添加我的密钥,使用命令:

ssh-add ~/.ssh/bajie

Enter passphrase for /home/gr/.ssh/bajie: 
Identity added: /home/gr/.ssh/bajie (/home/gr/.ssh/bajie)

再次查看,如下,添加成功:

ssh-add -l
2048 63:c5:d8:6c:a0:0c:a8:9c:26:d8:f8:95:de:29:04:eb /home/gr/.ssh/bajie (RSA)

问题:Could not open a connection to your authentication agent
执行ssh-add ~/.ssh/id_rsa报标题上的错误:
先执行 evalssh-agent`` (是~键上的那个) 再执行ssh-add ~/.ssh/rsa`成功,

ssh-add -l就有新加的rsa了。

猜你喜欢

转载自blog.csdn.net/QinDaBao_/article/details/88352724