一、wamp环境搭建
- 安装apache
- 安装mysql
- 解压php
- 在httpd.conf中配置apache,让apache支持php
#加载php作为apache的一个模块
LoadModule php5_module "d:/server/php/php5apache2_4.dll"
5. 在apache中指定将php文件交给php模块去处理
#增加php模块需要处理的文件,将以.php为后缀的文件交给php模块去处理
AddType application/x-httpd-php .php
6. 配置php,提供mysql扩展,使其能够连接mysql服务器
①在php目录下,复制php.ini.development文件重命名为php.ini作为php配置文件
②将php的配置文件加载到apache配置文件中
#增加php配置文件的路径
PHPIniDir d:/server/php
③在php.ini开启mysql扩展
extension=php_mysql.dll
extension=php_mysqli.dll
#设置php扩展路径
extension_dir = "d:/server/php/ext/"
7. 虚拟主机配置
①在d:/server/apache/conf/extra/下修改httpd-vhosts.conf配置
# 配置CI项目的虚拟主机
<VirtualHost *:80>
DocumentRoot "D:/TDOWNLOAD/CI"
ServerName lujc.com
#设置目录访问权限
<Directory "D:/TDOWNLOAD/CI">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
②在C:\Windows\System32\drivers\etc修改本地hosts配置
127.0.0.1 localhost
127.0.0.1 lujc.com
③在d:/server/apache/conf/下修改httpd.conf配置
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
8. 重启apache
二、lamp环境搭建
1)二进制码软件安装
1.rpm方式
优点:软件安装非常方便、快速
缺点:软件的各个组成部分非常固定,不灵活。需要手动解决依赖关系。
使用场景:软件安装后使用的用户非常少,就采取二进制码方式安装。如:ftp、gcc等
(1)安装并使用ftp软件(ftp协议 21端口)
rpm方式安装(vsftpd)软件:
rpm -ivh 软件包全名 //安装软件
rpm -q 软件包名(完整) //query查看软件是否有安装
rpm -e 软件包名(完整) //卸载软件
rpm -qa //查看系统里全部rpm方式安装的软件
rpm -qa | grep ftpd(部分名字) //模糊查找指定软件ftpd是否有安装
软件包名 = 软件包名+软件版本+支持的系统+支持cpu型号+文件后缀
(2)使用ftp
①启动ftp服务:
service vsftpd start/stop/restart //控制ftp服务
ps -A | grep ftp //查看ftp相关服务进程
②测试本机与linux与linux的ftp端口21是否通畅
如果不通畅,解决方法:关闭linux系统防火墙(执行指令 setup)
③ftp客户端连接失败
如果帐号密码输入正确,连接失败,解决方法:关闭SELinux
vi /etc/selinux/config,把enforcing改为disabled 完成编辑并reboot重启系统,并启动ftp服务
④对使用ftp用户的限制
ftp服务可以在配置文件里边做设置,两个文件如下:
/etc/vsftpd/user_list /etc/vsftpd/ftpusers
限制普通用户只访问自己的家目录 /etc/vsftpd/vsftpd.conf
(3)gcc编译器安装
软件包依赖
2.yum智能方式
前提 ①可以上网 ②通过配置把软件放到指定位置
优点 方便,一键安装,无需考虑软件依赖。
yum install.php //安装
yum -y install 包名
yum -y remove 包名 //卸载
yum -y update 包名 //升级(有网)
yum list 查询所有可以安装的包
如果没有网络,yum管理工具可以将多媒体软件库作为yum源(池),继续完成软件管理。yum默认将/etc/yum.repo.d/CentOS-base.repo文件作为第一yum源配置文件,此文件描述了网络站点的下载地址,如果此文件存在,则继续上网安装,断网时会安装失败。需要将yum源切换为光盘的多媒体文件中去。
将光盘作为yum源
修改yum源配置文件 //剪切或改名皆可,只要在原位置无同名配置文件即可。
mv /etc/yum.repo.d/CentOS-Base.repo /root/
挂载使用光盘
mount /dev/cdrom /mnt/cdrom
修改Media配置文件,指定yum源为挂载点
vi /etc/yum.repos.d/CentOS-Media.repo
修改开始
baseurl=file:///mnt/cdrom/ 指定yum源位置
enabled=1 yum源文件生效
gpgcheck=1 rpm验证不生效
修改结束
测试安装
yum -y install gcc
安装软件包8个自动解除依赖关系。
2)源码编译方式安装软件
优点:软件内部各个组成部分可以灵活做配置(例如php里边有gd/xml/jpeg/png等各个部分组成,都可以灵活选取)
缺点:安装稍麻烦
使用场景:软件安装完毕使用者非常多、非常巨大,就采取源码编译方式安装。如php、apache、mysql等。
卸载之前的软件(因为在linux中,默认安装了apache、mysql、php软件,它们都是以rpm包格式安装,所以我们需要先将这些软件删除才可以继续安装我们现在的源代码包。)
rpm -e httpd --no'de'p's
1.zlib软件安装
zlib可以对许多其他软件的编译代码起着优化、压缩的作用
解压压缩包:
.tar.gz tar zxvf 压缩包.tar.gz
.tar.bz2 tar jxvf 压缩包.tar.bz2
./configure //在解压软件目录内部执行 make make install
2.安装apache
configure配置指令之后直接执行:make && make install
启动apache: /usr/local/http2/bin/下 执行.apachectl start/stop/restart
3.安装php
(1)安装libxml2
tar zxvf libxml2-2.7.2.tar.gz
cd libxml2.2.7.2
./configure --prefix=/usr/local/libxml2 \
--without-zlib
make && make install
(2)安装jpeg8
tar zxvf jpegsrc.v8b.tar.gz
cd jpeg-8b
./configure --prefix=/usr/local/jpeg \
--enable-shared --enable-static
--enable-shared //把jpeg需要的函数库程序都编译到该软件里边
优点:函数调用速度快 缺点:软件本身比较大
--enable-static //静态方式函数处理,需要什么函数马上include出来
优点:软件本身比较小 缺点:函数调用速度慢
make && make install
(3)安装libpng
tar zxvf libpng-1.4.3.tar.gz
cd libpng-1.4.3
./configure
make && make install
(4)安装freetype(字体库)
(5)安装GD库
(6)安装php
tar jxvf php-5.3.6.tar.bz2
cd php-5.3.6
./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/http2/bin/apxs \
apache的支持,其作用:
①给apache生成php模块
②修改/usr/local/http2/conf/httpd.conf的配置文件,使其引入php模块
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
mysql没有先于php之前安装,还要对php形成支持,就设置mysqlnd,mysqlnd表示会激活php本身的mysql驱动并使用
--with-freetype-dir=/usr/local/freetype \
--with-gd=/usr/local/gd \
--with-zlib --with-libxml-dir=/usr/local/libxml2 \
--with-jpeg-dir=/usr/local/jpeg \
--with-png-dir \
--enable-mbstring=all \
--enable-mbregex \
正则表达式对php的支持
--enable-shared \
make && make install
cp php.ini-development /usr/local/php/lib/php.ini
php安装完成会使得httpd.conf把对应的php模块引入,配置apache使其支持php
vi /usr/local/http2/conf/httpd.conf
①在httpd.conf中增加AddType application/x-httpd-php.php
②在<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
在index.html前面添加index.php
③建立php测试网页
vi /usr/local/apache2/htdocs/index.php
<?php
phpinfo();
?>
修改php配置文件/usr/local/php/lib/php.ini设置date.timezone = PRC
/usr/local/http2/bin/apachectl restart //重启apache
4.安装mysql
(1)安装cmake
rpm -ivh cmake……rpm
(2)安装mysql
安装依赖软件:ncurses-devel
依赖解决好后需要删除CMakeCache.txt文件
tar zxvf mysql-5.5.17.tar.gz
cd mysql-5.5.17
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //准备安装到哪
-DCMAKE_DATADIR=/usr/local/mysql/data \ //数据存储目录
-DDEFAULT_CHARSET=utf8 \ //默认的字符集
-DDEFAULT_COLLATION=utf8_general_ci \ //校队字符集
make && make install
cp support-files/my-medium.cnf /etc/my.cnf //给mysql复制一个配置文件
(3)配置并初始化mysql
useradd mysql
chmod + x /usr/local/mysql
(数据库用户不小心删光)
删除data目录同时删除旧的mysql服务 ps -A | grep mysql killall mysqld或kill -9 mysql进程号码
chown -R mysql.mysql /usr/local/mysql
初始化mysql数据库
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data &
把mysql安装文件除了data的拥有者都变为root,避免数据库恢复为出厂设置
chown -R root /usr/local/mysql
chown -R mysql/usr/local/mysql/data
后台运行mysql服务
/usr/local/mysql/bin/mysqld_safe --user=mysql &
ps -A | grep mysql //查看mysql是否有启动
测试数据库
/usr/local/mysql/bin/mysql -u root
show databases;
接上步,可省略,修改数据库密码
update user set Password=password(123456);
select Host,User,Password from user;
flush privileges; //刷新权限,使修改后的密码生效
(4)mysql忘记root密码
vim /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables
netstat -lnp | grep mysql 找到对应pid
kill 3699
/usr/local/mysql/bin/mysqld_safe --user=mysql &
/usr/local/mysql/bin/mysql
USE mysql ;
UPDATE user SET Password = password ( 'root' ) WHERE User = 'root' ;
flush privileges ;
exit;
vim /etc/my.cnf 在[mysqld]的:skip-grant-tables前面加上#注释保存退出
netstat -lnp | grep mysql 找到对应pid
kill 3833
/usr/local/mysql/bin/mysqld_safe --user=mysql &
5.注意点
(1)配置虚拟主机细节
<VirtualHost *:80>
ServiceName web.ecshop2.com
DocumentRoot "/var/www/html/shop/"
<Directory "/var/www/html/shop/">
Options Indexes
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
(2)开机自动启动服务
配置文件路径: # vi /etc/rc.d/rc.local,在文件中增加启动相关服务的命令如下:
/usr/local/http2/bin/apachectl start
/usr/local/mysql/bin/mysqld_safe --user=mysql &
service vsftpd start
(3开机默认命令模式启动
vi /etc/inittab
修改id:5->id:3 //命令模式开机
reboot //重启系统
poweroff //关闭系统
三、关于centos7 yum安装nginx、php、mysql(lnmp环境搭建)
与centos6不同,默认情况Centos7中无Nginx的源
1、打开nginx网站:http://nginx.org/packages/centos/7/noarch/RPMS/
复制链接http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2、登录服务器,进入 /usr/local/src,通过wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm进行下载rpm包
3、执行命令添加源
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
4、查看是否已经添加源成功
yum search nginx
5、yum安装nginx
yum -y install nginx
6、nginx相关常用命令
#重新加载配置|重启|停止|退出 nginx -s reload|reopen|stop|quit
查看:service nginx status/systemctl status nginx
启动:service nginx start/systemctl start nginx/systemctl enable nginx(nginx加入开机启动)
重启:nginx -c /etc/nginx/nginx.conf(指定文件重启)/nginx -s reload(重新加载配置,平滑重启,有时可能不生效)
检查语法:nginx -t
7、启动nginx,可以在服务器输入如下命令测试
curl -i localhost
8、打开网页
访问成功网页如有图所示:
注意:阿里云有一个安全组规则,其中限制了外部网络设备对阿里云实例服务器的访问权限。默认打开了 SSH 连接的 22 端口,所以你可以通过远程工具连接到阿里云服务器当中。但是web 服务的 80 端口和 443 端口都是关闭,拒绝访问的,所以即便你安装并启动了Nginx服务,同时关闭了服务器防火墙,依然无法从浏览器访问你的 Nginx 服务。
9、如何将PHP7.3,7.2, 7.1 安装在centos/RHEL 7.6 上?
安装EPEL:sudo yum install epel-release
安装remi:sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
安装php7:
## 安装PHP 7.3
yum --enablerepo=remi-php73 install php
## 安装 PHP 7.2
yum --enablerepo=remi-php72 install php
## 安装 PHP 7.1
yum --enablerepo=remi-php71 install php
检测是否正确运行:php -v
完全卸载php7:yum remove php-common
安装yum源管理工具:yum install yum-utils
安装PHP模块(扩展):
### For PHP 7.3
yum --enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-fpm php-pdo php-mysql
### For PHP 7.2
yum --enablerepo=remi-php72 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-fpm php-pdo php-mysql
### For PHP 7.1
yum --enablerepo=remi-php71 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-fpm php-pdo php-mysql
列出remi仓库下所有PHP7.3可用模块指令:
yum --enablerepo=remi-php73 search php | grep php73
启动php-fpm:systemctl start php-fpm.service
开机启动php-fpm:systemctl enable php-fpm.service
10、安装mysql
①查看系统中是否已安装 MySQL 服务,以下提供两种方式:
rpm -qa | grep mysql 或者 yum list installed | grep mysql
②如果已安装则删除 MySQL 及其依赖的包:
yum -y remove mysql-libs.x86_64
③下载MySql安装包
[root@centos7 ~]# rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
或者 [root@localhost ~]# rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
④安装MySQL
[root@centos7 ~]# yum install -y mysql-server
或者 [root@localhost ~]# yum install mysql-community-server
⑤设置开机启动MySQL
[root@centos7 ~]# systemctl enable mysqld.service
⑥检查是否已经安装了开机自动启动
[root@centos7 ~]# systemctl list-unit-files | grep mysqld mysqld.service enabled mysqld@.service disabled
上述情况内容说明已经完成自动启动安装
⑦设置开启服务
[root@centos7 ~]# systemctl start mysqld.service
⑧查看MySQL默认密码
[root@centos7 ~]# grep 'temporary password' /var/log/mysqld.log 2018-10-23T07:26:03.122784Z 1 [Note] A temporary password is generated for root@localhost: SO#%2<oGFjos 这里的默认密码 SO#%2<oGFjos 是MySQL安装的时候随机生成的,
⑨登陆MySQL,输入用户名和默认密码
[root@centos7 ~]# mysql -uroot -p Enter password:
⑩修改当前用户密码
mysql> set password = password('Root_123!');
开启远程登录,授权root远程登录
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root_123!' WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.00 sec)
命令立即执行生效
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
其他一些功能
1、检查并且显示Apache相关安装包
[root@centos7 ~]# rpm -qa | grep mysql mysql57-community-release-el7-8.noarch mysql-community-client-5.7.24-1.el7.x86_64 mysql-community-libs-5.7.24-1.el7.x86_64 mysql-community-common-5.7.24-1.el7.x86_64 mysql-community-libs-compat-5.7.24-1.el7.x86_64 mysql-community-server-5.7.24-1.el7.x86_64
2、删除MySQL
[root@localhost ~]# yum remove -y mysql mysql mysql-server mysql-libs compat-mysql51
或者[root@localhost ~]# rpm -e mysql-community-libs-5.7.20-1.el7.x86_64 --nodeps
或者[root@localhost ~]# yum -y remove mysql-community-libs-5.7.20-1.el7.x86_64
3、查看MySQL相关文件
[root@centos7 ~]# find / -name mysql /var/spool/mail/mysql /var/lib/mysql /var/lib/mysql/mysql /etc/selinux/targeted/active/modules/100/mysql /etc/logrotate.d/mysql /home/mysql /home/ftp/sh-1.5.5/mysql /home/ftp/sh-1.5.5/php-5.5.7/ext/mysql /home/ftp/sh-1.5.5/php-5.5.7/travis/ext/mysql /usr/lib64/mysql /usr/share/mysql /usr/bin/mysql
4、重启MySQL服务
[root@centos7 ~]# service mysqld restart
5、查看MySQL版本
[root@centos7 ~]# yum repolist all | grep mysql mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 74 mysql-connectors-community-source MySQL Connectors Community - S disabled mysql-tools-community/x86_64 MySQL Tools Community enabled: 74 mysql-tools-community-source MySQL Tools Community - Source disabled mysql-tools-preview/x86_64 MySQL Tools Preview disabled mysql-tools-preview-source MySQL Tools Preview - Source disabled mysql55-community/x86_64 MySQL 5.5 Community Server disabled mysql55-community-source MySQL 5.5 Community Server - S disabled mysql56-community/x86_64 MySQL 5.6 Community Server disabled mysql56-community-source MySQL 5.6 Community Server - S disabled mysql57-community/x86_64 MySQL 5.7 Community Server enabled: 307 mysql57-community-source MySQL 5.7 Community Server - S disabled
6、查看当前的启动的 MySQL 版本
[root@centos7 ~]# yum repolist enabled | grep mysql mysql-connectors-community/x86_64 MySQL Connectors Community 74 mysql-tools-community/x86_64 MySQL Tools Community 74 mysql57-community/x86_64 MySQL 5.7 Community Server 307
7、通过Yum来安装MySQL,会自动处理MySQL与其他组件的依赖关系
[root@localhost ~]# yum install mysql-community-server
8、查看MySQL安装目录
[root@centos7 ~]# whereis mysql mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
9、启动MySQL服务
[root@centos7 ~]# systemctl start mysqld
10、查看MySQL服务状态
[root@centos7 ~]# systemctl status mysqld ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-10-23 17:12:39 CST; 6min ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 19048 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 19030 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 19051 (mysqld) CGroup: /system.slice/mysqld.service └─19051 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid Oct 23 17:12:38 centos7 systemd[1]: Starting MySQL Server... Oct 23 17:12:39 centos7 systemd[1]: Started MySQL Server.
11、关闭MySQL服务
[root@localhost ~]# systemctl stop mysqld
12、测试MySQL是否安装成功
[root@localhost ~]# mysql
13、查看MySQL默认密码
[root@centos7 ~]# grep 'temporary password' /var/log/mysqld.log 2018-10-23T07:26:03.122784Z 1 [Note] A temporary password is generated for root@localhost: SO#%2<oGFjos
14、查看所有数据库
mysql>show databases;
15、退出登录数据库
mysql>exit;
16、查看所有数据库用户
mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;