图片在最下面
1.vm安装center so 7系统
2.配置网络 宿机与linux在同一个网段 更改vim /etc/sysconfig/network-scripts/ifcfg-ens33
重启网络 service network restart
3.使用securytecrt连接linux系统
4.将安装包上传到 /root/Lnmp然后剪切到/usr/local/src下
5.安装各种软件 各种php的拓展 最后再配置
1.安装memcached
yum install gcc automake autoconf libtool gcc-c++ -y
Tar fxz xxx.tar
./configure prefix=/usr/local/memcached
缺少什么组建就yum什么组建
一般确实这个
yum install libevent libevent-devel -y
make
make install
拓展安装:
、安装memcache扩展
下载地址:http://pecl.php.net/package/memcache
memcache是php的一个扩展模块,安装前应先保证目前具备php环境。
先找到phpize的存在目录(如果是通过yum安装的php,则存在于/usr/bin中,如果没找到它们,则#yum install php-devel并重启)
解压memcache压缩包后,“进入解压出的文件夹中”。接下来使用phpzie将memcache编译到php扩展模块中。
#/usr/bin/phpize
#./configure --with-php-config=/usr/bin/php-config
(此时如果error: memcache support requires ZLIB报错,则说明没有zlib,可以yum一个,之后重启:#yum install -y zlib.x86_64 zlib-devel.x86_64)
检测成功后就可以用make编译memcache了:
#make
#make install
Installing shared extensions: /usr/lib64/php/modules/
(上面的结果表示:扩展将被安装到/usr/lib64/php/modules/目录)
最后还需要修改php.ini配置项,过程如下:这里的php.ini 是/usr/location/php/etc/php.ini
#vim /etc/php.ini
(在700多行找到下面的命令,将注释去掉,有些没有也可手动添加)
extension_dir = "/usr/lib64/php/modules/"(地址是上面make时显示的地址)
extension = "memcache.so"
2.安装nginx服务器
./configure --prefix=/usr/local/nginx
常见问题:
问题1:
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
如果提示缺少pcre 库, yum install pcre pcre -devel
./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/src/pcre-7.7
问题2:
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.
解决办法: yum install zlib zlib-devel
./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/src/pcre-7.7
make && make install
3.安装php
下载php源码
yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel -y
./configure --prefix=/usr/local/php \
--with-gd \
--enable-gd-native-ttf \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--with-libxml-dir \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-mcrypt=/usr/local/libmcrypt-2.5.8 \
--enable-soap \
--with-curl \
--enable-ftp \
--with-pear \
--enable-exif \
--disable-ipv6 \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm
解决php编译报错configure: error: mcrypt.h not found. Please reinstall libmcrypt.
yum install -y epel-release
yum install -y libmcrypt-devel
两个不能一起安装,因为CentOs6默认的yum源没有 libmcrypt-devel这个包,只能借助epel的yum源,所以先安装epel,再安装libmcrypt。
make
make install
常见错误 yum 安装 yum install curl-devel curl -y
安装目录下 cp etc/php-fpm.conf.default etc/php-fpm.conf
将解压包里面的 php.ini-development复制到安装目录的etc下
cp /usr/local/src/php-5.5.13/php.ini-development ./etc/php.ini
检查gd库是否安装成功
更改timezone PRC
Mysql
1
groupadd mysql //创建mysql 用户组
useradd -g mysql mysql //创建一个用户名为mysql的用户并加入mysql用户组
2 解压完 移动到/usr/local 目录下,并重命名mysql
解压指令tar -zvxf /root/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
mv /root/mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql
.修改权限
cd /usr/local/mysql
chown –R mysql . //把当前目录下的文件及目录的属性改为mysql用户
chgrp –R mysql . //把当前目录下的文件所属的组件改为mysql组
创建data目录,作为数据库存储位置
mkdir /usr/local/mysql/data
配置my.cnf文件
此文件非常重要,初始化之前一定要把此文件放到 /etc 目录下,
此文件内容如下(路径根据自己的实际情况):
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
这时候 /usr/local/mysql/data 没有权限 要授权 或者更改所有者
chown -R mysql:mysql /usr/local/mysql/data
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
chown -R root . //把当前目录下的文件及目录的属性改为root 用户
chown -R mysql data
通过初始密码登录mysql,并修改密码
总之 更改权限 授予权限 更改所有者 service mysql restart
进入/usr/local/mysql/bin
启动mysql服务 ./mysqld_safe &
使用mysql ./mysql -uroot -p 然后输入密码即可
修改密码
mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】
6.配置nginx php mysql
mysql更改端口号
外网访问mysql 需要关闭防火墙
flush privileages;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'sasc_shop' WITH GRANT OPTION;
Nginx 配置
vim /usr/local/nginx/conf/nginx.conf
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;
server {
listen 80;
server_name localhost www.hool.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /mnt/win/tp5/public;
index index.php index.html;
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1;
}
}
#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;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
# location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php {
root /mnt/win/tp5/public;
将本地文件夹共享linux
先安装上VMare Tool 然后再!
虚拟机设置共享文件夹
5、用vmware-hgfsclient命令可以看到你的共享文件夹目录,这个命令是你安装了vmwaretools成功后生成的
6、新建文件夹mkdir /mnt/win
下面的命令每次都要 所以要放在自动启动里面
接着/usr/bin/vmhgfs-fuse .host:/ /mnt/win -o subtype=vmhgfs-fuse,allow_other
共享文件夹中的内容就在/mnt/win目录的share文件夹中了
7.配置开机自启
写个文件 :
vim /usr/local/autoStart 内容:
#!/bin/bash
#chkconfig: 2345 80 90
#description:开机自动启动的脚本程序
/usr/local/nginx/sbin/nginx > /dev/null 2>&1 &
/usr/local/php/sbin/php-fpm > /dev/null 2>&1 &
/usr/bin/vmhgfs-fuse .host:/ /mnt/win -o subtype=vmhgfs-fuse,allow_other
脚本第一行 “#!/bin/sh” 告诉系统使用的shell;
脚本第二行 “#chkconfig: 2345 80 90” 表示在2/3/4/5运行级别启动,启动序号(S80),关闭序号(K90);
脚本第三行 表示的是服务的描述信息
注意: 第二行和第三行必写,负责会出现如“服务 autostart.sh 不支持 chkconfig”这样的错误。
Linux设置服务开机自动启动的方式有好多种,这里介绍一下通过chkconfig命令添加脚本为开机自动启动的方法。
1. 编写脚本autostart.sh(这里以开机启动redis服务为例),脚本内容如下:
#!/bin/sh
#chkconfig: 2345 80 90
#description:开机自动启动的脚本程序
# 开启redis服务 端口为6379
/usr/local/service/redis-2.8.3/src/redis-server --port 6379 &
脚本第一行 “#!/bin/sh” 告诉系统使用的shell;
脚本第二行 “#chkconfig: 2345 80 90” 表示在2/3/4/5运行级别启动,启动序号(S80),关闭序号(K90);
脚本第三行 表示的是服务的描述信息
注意: 第二行和第三行必写,负责会出现如“服务 autostart.sh 不支持 chkconfig”这样的错误。
---------------第一种方法
--------------第二种方法
2. 将写好的autostart.sh脚本移动到/etc/rc.d/init.d/目录下
3. 给脚本赋可执行权限
cd /etc/rc.d/init.d/
chmod +x autostart.sh
1
2
4. 添加脚本到开机自动启动项目中
chkconfig --add autostart.sh
chkconfig autostart.sh on
原文:https://blog.csdn.net/daidaineteasy/article/details/54864776
版权声明:本文为博主原创文章,转载请附上博文链接!
8.共享文件夹
9.关闭防火墙
10.
11.
12.yum install libmcryp-devel libmcryp-y
13.
linux安装memcached及memcache扩展
一、安装libevent函数库
下载地址:http://libevent.org
默认被安装到:/usr/local/lib目录下
安装memcached之前需要先安装libevent函数库。
可以通过#ls -al /usr/local/lib | grep libevent命令查看是否已安装libevent函数库。
如果没安装,则需下载并安装libevent函数库。
二、安装memcached
下载地址:http://memcached.org
默认被安装到:/usr/local/bin目录下
安装完毕后,
先将libevent包路径加入/etc/ld.so.conf文件中
#vi /etc/ld.so.conf
在最后面一行加入/usr/local/lib
完成后输入以下命令启动memcached主程序
/usr/local/bin/memcached -d -m 1024 -u root -l 需要访问memcached的客户端ip地址 -p 11211 -c 1024 -P /tmp/memcached.pid
常用启动参数如下:
-m:最大使用内存,以MB为单位,默认64。
-p:进程所使用的TCP进程端口,默认11211。
-d:将memcached作为后台守护进程运行。
-u:启动用户。
-P:进程文件存放路径。
-c:最大运行并发数,默认1024。
-l:监听服务地址(即允许telnte登录的IP)。
如果出现以下报错:error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
则说明memcached找不到libevent的位置,解决办法及原因如下:
原因之一:虽然刚刚我们在/etc/ls.so.conf文件里添加了libevent包目录,但系统还没有识别到这个新的动态链接库。
解决办法:我们需要执行一下ldconfig命令,这个命令通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。
这个命令的用途:默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。
启动完成后,可查看memcached主程序是否存在
#pstree | grep mem
三、安装memcache扩展
下载地址:http://pecl.php.net/package/memcache
memcache是php的一个扩展模块,安装前应先保证目前具备php环境。
先找到phpize的存在目录(如果是通过yum安装的php,则存在于/usr/bin中,如果没找到它们,则#yum install php-devel并重启)
解压memcache压缩包后,“进入解压出的文件夹中”。接下来使用phpzie将memcache编译到php扩展模块中。
#/usr/bin/phpize
#./configure --with-php-config=/usr/bin/php-config
(此时如果error: memcache support requires ZLIB报错,则说明没有zlib,可以yum一个,之后重启:#yum install -y zlib.x86_64 zlib-devel.x86_64)
检测成功后就可以用make编译memcache了:
#make
#make install
Installing shared extensions: /usr/lib64/php/modules/
(上面的结果表示:扩展将被安装到/usr/lib64/php/modules/目录)
最后还需要修改php.ini配置项,过程如下:
#vim /etc/php.ini
(在700多行找到下面的命令,将注释去掉,有些没有也可手动添加)
extension_dir = "/usr/lib64/php/modules/"(地址是上面make时显示的地址)
extension = "memcache.so"
extension = "pdo_mysql.so"
重启服务器
可以用#telnet memcached所在服务器ip地址 11211
来查看是否可以连接memcached
之后可以通过phpinfo函数查看memcache的配置信息
附件:
s ‐ahl命令可以看到文件的所有者
chown 用户名 文件名来修改文件的所有者
.
查看防火墙状态。
.
systemctl status firewalld
.
.
.
临时关闭防火墙命令。重启电脑后,防火墙自动起来。
.
systemctl stop firewalld
.
.
.
永久关闭防火墙命令。重启后,防火墙不会自动启动。
.
systemctl disable firewalld
.
.
.
5
.
打开防火墙命令。
.
systemctl enable firewalld
.
挂载:
关于挂载的作用一直不是很清楚,今天在阅读教材时看见了mount这个命令,发现它的用处很隐晦但非常强大。奈何教材说的不明朗,因此在网上整合了一些优秀的解释,看完之后豁然开朗。
1.提一句Windows下,mount挂载,就是给磁盘分区提供一个盘符(C,D,E,...)。比如插入U盘后系统自动分配给了它I:盘符其实就是挂载,退优盘的时候进行安全弹出,其实就是卸载unmount。
2.Linux下,不像Windows可以有C,D,E,多个目录,Linux只有一个根目录/。在装系统时,我们分配给linux的所有区都在/下的某个位置,比如/home等等。
3.提问者插入了新硬盘,分了新磁盘区sdb1。它现在还不属于/。
4.我们虽然可以在一些图形桌面系统里找到他的位置,浏览管理里面的文件,但在命令行却不知怎么访问它的目录,比如无法使用cd或者ls。也无法在编程时指定一个目录对它操作。
5.这时提问者使用了 mount /dev/sdb1 ~/Share/ ,把新硬盘的区sdb1挂载到工作目录的~/Share/文件夹下,之后访问这个~/Share/文件夹就相当于访问这个硬盘2的sdb1分区了。对/Share/的任何操作,都相当于对sdb1里文件的操作。
6.所以Linux下,mount挂载的作用,就是将一个设备(通常是存储设备)挂接到一个已存在的目录上。访问这个目录就是访问该存储设备。
7.linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。挂载就是把设备放在一个目录下,让系统知道怎么管理这个设备里的文件,了解这个存储设备的可读写特性之类的过程。
8.我们不是有/dev/sdb1 吗,直接对它操作不就行了?这不是它的目录吗?
9.这不是它的目录。虽然/dev是个目录,但/dev/sdb1不是目录。可以发现ls/dev/sdb1无法执行。/dev/sdb1,是一个类似指针的东西,指向这个分区的原始数据块。mount前,系统并不知道这个数据块哪部分数据代表文件,如何对它们操作。
10.插入CD,系统其实自动执行了 mount /dev/cdrom /media/cdrom。所以可以直接在/media/cdrom中对CD中的内容进行管理。
CentOS之7与6的区别
标签: linux
笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流
前言
centos7与6之间最大的差别就是初始化技术的不同,7采用的初始化技术是Systemd,并行的运行方式,除了这一点之外,服务启动、开机启动文件、网络命令方面等等,都说6有所不同。让我们先来了解一下系统初始化技术的演变过程。
1.系统初始化技术
Sysvinit技术
Upstart技术
Systemd技术
Sysvinit技术
特点:
1.系统第1个进程为init;
2.init进程是所有进程的父进程,不可kill;
3.大多数Linux发行版的init系统是和SystemV相兼容的,被称为sysvinti
4.代表系统:CentOS5 CentOS6
优点:
sysvinit运行非常良好,概念简单清晰。它主要依赖于shell脚本。
缺点:
1.按照一定顺序执行——>启动太慢。
2.很容易hang住,fstab与nfs挂载问题
Upstart技术
CentOS6采用了upstart技术代替sysVinit进行引导,Upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化的启动时间。但是CentOS6为了简便管理员的操作,upstart的很多特性并没有凸显或直接不支持。
代表系统:CentOS6, Ubuntu14, 从CentOS7, Ubuntu15开始使用systemd
Systemd技术
新系统都会采用的技术(RedHat7,CentOS7,Ubuntu15等);
设计目标是克服sysvinit固有的缺点,提高系统的启动速度;
和Sysvinit兼容,降低迁移成本;
最主要优点:并行启动
Pid为1的进程
2.在yum源上的优化
在centos6的时候,默认是从官方源下载rpm包的,由于是国外的yum源很慢不能用,CentOS7在这里做了优化,当我们使用yum安装软件的时候,默认不会再从官方下载,而是自动寻找离自己地理位置最近的yum源开始下载。
3.命令
如果在安装系统的时候选择minimal,会比之前6的时候以更小的包来安装,比如:vim、ifconfig、route、setup、netstat等等很多命令都没有了。。在安装系统后可加入以下软件包:
yum install lrzsz tree net-tools nmap vim bash-completion lsof dos2unix nc telnet ntp wget rng-tools psmisc screen -y
#lrzsz 支持windowns平台的上传下载linux。在windowns远程连接工具上可以使用。# net-tools CentOS 7.2.11 默认没有ifconfig命令。net-tools提供一些网络命令。# bash-completion 自动命令补全的工具。# rng-tools 生成随机数嫡池的一个工具,有了这个工具tomcat 启动会变得非常快。# psmisc 这个包含有killall命令。# screen 可以新建一个窗口,把任务放在后台运行。
4.字符集修改
/etc/locale.conf #字符集配置文件
localectl set-locale LANG=zh_CN.UTF-8 # 命令行一步到位
[root@CentOS7 ~]# localectl set-locale LANG=zh_CN.UTF-8
[root@CentOS7 ~]# localectl status
System Locale: LANG=zh_CN.UTF-8
VC Keymap: us
X11 Layout: us
5.开机启动管理
/etc/rc.local # 这个文件还是存在,不过如果我们还想继续使用这种方式需要给它加执行权限chmod +x /etc/rc.d/rc.local# system一统天下 snapshot(支持快照)
systemctl status cron.service #查看定时任务状态
systemctl stop cron.service #关闭定时任务
systemctl status cron.service #查看操作情况
systemctl list-unit-files|grep enable #查看当前正在运行的服务
systemctl disable postfix.service #关闭邮件服务
systemctl list-unit-files|grep postfix #查看邮件服务是否开启
systemctl stop firewalld.service #关闭防火墙
systemctl is-enable #开启的服务
systemctl disable #关闭的服务
通过/etc/rc.d/rc.local/开机自启动
centos7中/etc/rc.d/rc.local需要执行如下命令赋予可执行权限
chmod +x /etc/rc.d/rc.local
6.运行级别runlevel
/etc/inittab 是无效的 system target 替代##永久生效下次登录生效
systemctl get-default graphical.target 切换到5
systemctl get-default multi-user.target 切换到3##临时生效的话
init3##只有五种运行级别
[root@centos7 ~]# ls -lh /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 Apr 20 22:31 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Apr 20 22:31 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Apr 20 22:31 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 20 22:31 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 20 22:31 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Apr 20 22:31 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Apr 20 22:31 /usr/lib/systemd/system/runlevel6.target -> reboot.target
7.配置yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#官方epel源
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
8.网卡名称
关于网卡名称修改为eth0问题可参考:http://www.cnblogs.com/Csir/p/6739567.html
-----MYSQL 安装
linux下mysql 5.7.21 安装
2018年01月18日 12:10:20 十七岁有她 阅读数:9106
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37995908/article/details/79092363
# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 解压
# mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql 重命名
# cat /etc/group | grep mysql 查看有没有mysql组
# cat /etc/passwd |grep mysql 查看有没有mysql用户
更改mysql目录下所有的目录及文件夹所属组合用户
# chown -R mysql mysql
# chgrp -R mysql mysql
# cd mysql
# ls -l
安装和初始化mysql数据库
# cd bin/
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
从上图中看出生成的临时密码是 g%GgeAw5GdQ9
# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
配置my.cnf
# cd support-files
#ls 查看my-default.cnf 是否存在 如果存在直接复制到/etc/my.cnf
# cp -a ./support-files/my-default.cnf /etc/my.cnf
下面这是不存在的话
# touch /etc/my.cnf
# vim /etc/my.cnf
# basedir=/usr/local/mysql/
# datadir=/usr/local/mysql/data/
# ./mysqld_safe --user=mysql & 启动mysql
把mysql添加到后台运行成为服务
# cp mysql.server /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
# chkconfig --add mysql //把mysql注册为开启启动项
# chkconfig --list mysql 查看是否添加成功
修改mysql登陆的密码
# cd bin
# ./mysql -uroot -p
密码上面生成的临时密码
mysql> set password=password("root");
修改mysql远程登陆
use mysql;
update user set host='%' where user='root';
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
service mysql restart;
就可以实现了
如图
到此mysql5.7.21 就算安装完成了。
网友评论