先写个大纲,以后有时间或者有需要再进行再编辑吧!
一、安装VirtualBox
直接百度VirtualBox官网下载安装没问题。
二、安装CentOS7
也是官网下载CentOS镜像,然后默认安装就可以了,如果是搭建整个LNMP环境,建议分配大点空间,我给的是1G+15G,因为考虑到主机是四核八线程的处理器,所以分配了两个处理器。
CentOS分有界面和无界面安装,虽然还是一样用终端和命令操作,但是有界面我用得顺手些,所以安装过程里我没有选择默认的最小安装,其余的哪里有叹号就点哪里,根据向导就可以完成安装。
三、设置网卡
使用的是网络地址转换(NAT)+桥接网络的方式。
网卡1
因为桥接网卡获取的IP不能上网(需要验证账号),因此网卡1负责联网,网卡2负责主机与虚拟机的连接。
网卡2选择为主机当前联网的网卡,主机上对应的网卡要在属性里安装VirtualBox的服务。
然后开启虚拟机CentOS,可以通过以下命令获得当前虚拟机网卡的IP地址等信息:
ifconfig
CentOS7.6最小安装默认是没有net-tools的,也就是说上面的命令还不能用,甚至连网卡都不是自启动的。
首先找到网卡配置目录:
cd /etc/sysconfig/network-scripts
使用ls命令查看当前目录下的所有文件,一般ifcfg-en***的文件是网卡配置,使用vi命令打开,按一个字母键进行输入修改,将ONBOOT项改为YES,Esc键退出编辑,Shift+":"输入wq保存退出,不保存退出是输入q:
重启网络服务:
service network restart
这时已经可以连网了,然后安装net-tools:
yum install net-tools
安装完成之后就可以使用ifconfig命令了这里分别是NAT网卡、桥接网卡、回环网卡,inet就是IP地址。
启动sshd服务:
service sshd start
利用IP地址和SSH可以在XShell、XFtp等工具中连接虚拟机进行操作,我这里使用桥接网卡进行连接,所以输入桥接网卡获得的IP地址,SSH默认端口号为22,然后输入CentOS的登录信息就可以连接进入CentOS。
VirtualBox对于CentOS的共享粘贴板无效,所以有时候需要复制代码时比较麻烦,当然有界面操作的CentOS也可以在虚拟机上进行资料查找复制粘贴,但肯定没有主机效果好。
当虚拟机能够联网,XShell、XFtp可以操作CentOS(新建连接,IP地址填上面命令获得的虚拟机的网卡IP地址,端口填22,左边的用户登录信息填写安装时创建的用户信息,XFtp最好填root用户可以直接操作root目录)。
先安装一些需要用到的依赖包:
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
yum -y install libevent* libtool* autoconf* libstd* ncurse* bison* openssl*
yum -y install gcc
yum -y install gcc-c++
yum -y install libxslt-devel*
yum -y install mod_ssl
yum -y install libtool-ltdl*
yum -y install perl*
四、安装MySQL5.7
1、卸载相关软件包:
rpm -qa|grep 数据库名 #查找相关包
rpm -e --nodeps 相关包名 #删除相关包
2、到MySQL官方网站下载rpm包:
https://dev.mysql.com/downloads/mysql/
这样选,我下载的是5.7.28
必须有client、libs、common、server四个包。
3、通过XFtp上传到虚拟机CentOS。
4、移动到上传的目录,然后运行命令进行统一安装:
rpm -Uvh *.rpm --nodeps --force
5、查看安装情况:
rpm -qa|grep mysql
6、初始化MySQL:
(1)、登录MySQL:
mysqld --initialize --user=mysql
(2)、查看密码:
grep 'temporary password' /var/log/mysqld.log
(3)、启动数据库服务:
systemctl start mysqld.service
(4)、使用前面所获得的密码登录MySQL:
mysql -u root -p
(5)、修改新密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
flush privileges;
(6)、再想修改新密码时登录MySQL:
mysql> use mysql;
Database changed
mysql> set password for root@'%' = password('新密码');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
(7)、设置远程连接:
mysql -u root -p
mysql> use mysql;
mysql> grant all privileges on *.* to root@'%' identified by "password";
mysql> flush privileges;
mysql> exit;
mysql> select host,user from user;
(8)、加入开机自启:
systemctl enable mysqld;
(9)、设置防火墙开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload #重启firewall
firewall-cmd --zone=public --list-ports #查看已经开放的端口
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #有需要的话禁止firewall开机启动
firewall-cmd --state #查看防火墙状态
以上 是安装MySQL的内容!
五、安装Nginx
1 、创建目录并下载nginx包解压:
cd usr
mkdir software
cd software
wget https://nginx.org/download/nginx-1.16.0.tar.gz
tar -zxvf nginx-1.16.0.tar.gz
2、编译安装:
cd nginx-1.16.0
./configure --with-http_stub_status_module --with-http_ssl_module
make && make install
3 、创建并设置nginx运行账号:
groupadd nginx
useradd -M -g nginx -s /sbin/nologin nginx
cd /usr/local/nginx/conf
vi nginx.conf
#设置user为nginx
user nginx nginx;
4 、设置nginx为系统服务:
#打开系统服务目录
cd /lib/systemd/system/
#新建编辑一个nginx服务,输入以下内容
vi nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
5 、设置nginx开机自启动、开启服务、查看状态:
systemctl enable nginx.service
systemctl start nginx.service
systemctl status nginx.service
查看进程状态和端口启用情况。
netstat -luntp
ps aux | grep nginx
8、 防火墙配置80端口并检测主机连接虚拟机IP:
(1)开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
(2)重启防火墙
firewall-cmd --reload
(3)查看防火墙开启状态
systemctl status firewalld
(4)查看80端口开启状态
firewall-cmd --zone=public --query-port=80/tcp
主机输入虚拟机IP地址验证Nginx服务器开启成功
以上是安装Nginx的过程。
六、安装PHP
1、下载PHP源码包,我下载的是7.3.11:
2、通过XFtp上传到CentOS。
3、安装cmake最新版本:
(1)下载源码包;
(2)上传到root目录;
(3)进入到root目录;
(4)解压cmake包;
(5)进入cmake目录;
(6)配置cmake;
./configure
(7)编译安装cmake。
4、更新libzip到1.5(PHP7.3.11需要):
(1)下载源码包;
(2)上传到root目录;
(3)进入到root目录;
(4)解压libzip包;
(5)进入到libzip目录;
(6)新建文件夹build;
(7)进入build文件夹;
(8)编译libzip:
cmake ..
(9)安装libzip。
5、进入到PHP源码包目录进行解压编译安装:
(1)解压:
tar -zxvf php-7.3.11.tar.gz
(2)进入目录:
cd php-7.3.11
(3)配置:
./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-jpeg-dir --with-freetype-dir --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --without-pear --disable-phar
(4)编译安装:
make && make install
(5)添加环境变量:
vi /etc/profile
(6)最下面添加参数:
PATH=$PATH:/usr/local/php7/bin
export PATH
(7)立刻生效:
source /etc/profile
(8)生成必要文件:
cp php.ini-production /usr/local/php7/etc/php.ini
cp sapi/fpm/php-fpm /usr/local/php7/etc/php-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
(9)生成日志文件:
touch /var/log/php.log
chmod 755 /var/log/php.log
以上是安装PHP的全部内容。
七、配置Nginx支持PHP
1、进入Nginx配置目录
cd /usr/local/nginx/conf
2、打开Nginx配置文件:
vi nginx.conf
3、添加修改成下图一样:
4、重启Nginx服务:
systemctl restart nginx.service
5、设置php-fpm为系统服务:
(1)进入系统服务目录:
cd /lib/systemd/system/
(2)新建编辑一个服务:
vi php-fpm.service
(3)输入以下内容:
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php7/sbin/php-fpm
PrivateTmp=True
[Install]
WantedBy=multi-user.target
(4)设置php-fpm服务开机自启动:
systemctl enable php-fpm.service
(5)启动php-fpm服务:
systemctl start php-fpm.service
(6)查看是否成功:
ps aux | grep php-fpm
(7)到Nginx网站目录添加PHP文件:
cd /usr/local/nginx/html
vi index.php
(8)输入一下内容:
<?php
echo phpinfo();
?>
(9)访问主机通过虚拟机IP地址访问Nginx主页查看是否打开phpinfo信息。