virtualBox安装centos7并配置nginx php mysql运行环境
virtualBox安装centos7并配置nginx php mysql运行环境
一:virtualBox安装centos7并进行基础设置
1.下载dvd.iso安装文件,下载地址:https://www.centos.org/download/
我选择的是DVD.iso的版本,大家自行查询三个版本的不同,对于我来说DVD版本已经够了,最好用迅雷下载,本地下载太慢了
2.系统(设置)->启动顺序改为光驱软驱硬盘

3.存储(设置)->点击盘片,选择之前下载的.iso文件
4.网络设置为桥接模式,主机与虚拟机可以互通
几种网络模式的介绍:https://www.douban.com/group/topic/15558388/
5.点击启动进入系统安装
6.最小化安装、虚拟硬盘自动分区,设置root密码
7.安装成功后,重新启动
8.最简安装的系统不存在ifconfig命令,我们在系统上安装一下
yum provides ifconfig 或 yum whatprovides ifconfig
查询到ifconfig命令是依赖于 net-tools软件的,所以我们来安装net-tools软件
yum install -y net-tools
测试到ifconfig命令可以用了(之前可以用ip addr命令代替)
9:初始wget软件安装
yum install -y wget
10:初始安装killall命令,nginx及其他服务启动关闭时会使用
yum install psmisc
11:如有需要,需设置静态IP启用,以后重启就可以一直用这个IP了,由于我自己公司网络配置,我没有设置。
vi /etc/sysconfig/network-scripts/ifcfg-****文件
BOOTPROTO="dhcp"修改为BOOTPROTO="static"
添加:IPADDR=10.200.79.123 设置的静态 ip地址
重启网络服务:service network restart
然后因为设置静态IP的原因出现了网络连接不上的问题,经解决:公司网段设置的问题,导致主机和虚拟机不在同一个网段,但是不影响互相访问,公司内的同事也可以访问我的虚拟机
二:搭建 nginx
参考地址:https://blog.csdn.net/faith306/article/details/78541974
根据文章安装完成后,启动nginx的过程中遇到几个问题
1.log_format main的定义问题,错误如下:
[root@bogon rewrite]# /selfdata/server/nginx-1.12.2/sbin/nginx
nginx: [emerg] unknown log format "main" in /selfdata/server/nginx-1.12.2/nginx.conf:26
上面文章中没有main的定义,并且log_format定义在access_log使用main的下面,更改为

2.不存在日志文件夹的问题
[root@bogon rewrite]# /selfdata/server/nginx-1.12.2/sbin/nginx
nginx: [emerg] open() "/selfdata/logs/nginx/access/default.log" failed (2: No such file or directory)
这里是因为:/selfdata/logs/nginx/文件夹下面access文件夹不存在导致的,创建即可,之所以需要这个文件夹,是因为在nginx的服务器配置conf/vhosts/default.conf配置文件中配置了这个日志的地址。access和error文件夹都要创建

3.nginx程序目录下不存在log目录需要创建
[root@bogon nginx]# /selfdata/server/nginx-1.12.2/sbin/nginx
[root@bogon nginx]# nginx: [emerg] open() "/selfdata/server/nginx-1.12.2/logs/nginx.pid" failed (2: No such file or directory)
经网上查询,需要配置nginx程序对应的配置文件。而且需要创建logs文件夹,nginx目录下初始化安装完时里面是没有这个目录的。
[root@bogon nginx-1.12.]# mkdir logs
[root@bogon nginx-1.12.]# /selfdata/server/nginx-1.12./sbin/nginx -c /selfdata/server/nginx-1.12./nginx.conf
4.然后启动,又显示80端口被占用。
[root@bogon nginx-1.12.2]# /selfdata/server/nginx-1.12.2/sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
我分两步来解决
第一:首先移除防火墙的影响,不管有没有影响。参考地址:https://blog.csdn.net/zyhlearnjava/article/details/71908529
~~~防止文章丢失,我再抄一遍:
[root@localhost ~]# yum install iptables-services
[root@localhost ~]# systemctl mask firewalld.service
[root@localhost ~]# systemctl enable iptables.service
[root@localhost ~]# systemctl enable ip6tables.service
进入iptables配置80端口,因为nginx默认是由80端口访问
[root@localhost ~]# vi /etc/sysconfig/iptables
这是配置信息:
# Generated by iptables-save v1.4.21 on Fri May 12 21:28:29 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6:696]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT(我给vsftpd配置的端口)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT(给nginx配置的端口,原样输入就行了)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:30999 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri May 12 21:28:29 2017
然后:wq,保存退出就行了;
重启iptables,配置才生效;
[root@localhost ~]# systemctl restart iptables.service
开启防火墙,不管你开没有,再开一遍:
[root@localhost ~]# systemctl start firewalld
开启http访问
[root@localhost ~]# firewall-cmd --permanent --add-service=http
加入80端口
[root@localhost ~]# firewall-cmd --permanent --zone=trusted --add-port=/tcp
~~~抄完了
之后还是报错

第二步:
[root@bogon nginx-1.12.]# killall - nginx
[root@bogon nginx-1.12.]# /selfdata/server/nginx-1.12./sbin/nginx
[root@bogon nginx-1.12.]# ps -ef|grep nginx
启用成功了

将nginx加入服务和开机启动的操作没有实践成功,开启的过程中报错了,所以我没加,先忽略的这部分
三:下载并安装PHP
用上面文章参考安装失败了,查阅资料。参考另一个地址:https://blog.csdn.net/xiao_zhui/article/details/72556781;该文章主要是参考安装组件部分,php编译安装之前需要这些组件支持
我再复制下来,
yum -y install libxml2
yum -y install libxml2-devel
yum -y install openssl
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install libjpeg
yum -y install libjpeg-devel
yum -y install libpng
yum -y install libpng-devel
yum -y install freetype
yum -y install freetype-devel
yum -y install pcre
yum -y install pcre-devel
yum -y install libxslt
yum -y install libxslt-devel
yum -y install bzip2
yum -y install bzip2-devel
# ./configure --prefix=/selfdata/server/php-7.1. --with-config-file-path=/selfdata/server/php-7.1./etc --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-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-pdo --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-calendar
# make
# make install
# cp /selfdata/package/php-7.1./php.ini-production /selfdata/server/php-7.1./etc/php.ini
# cd /selfdata/server/php-7.1./etc
# cp php-fpm.conf.default php-fpm.conf
# cd /selfdata/server/php-7.1./etc/php-fpm.d
# cp www.conf.default www.conf
# vi /selfdata/server/php-7.1./etc/php-fpm.conf
~~修改内容
pid= /selfdata/server/php-7.1./var/run/php-fpm.pid
~~~内容结束
#vi /selfdata/server/php-7.1./etc/php-fpm.d/www.conf
~~~内容
user = www
group = www
listen = 127.0.0.1:
pm.max_children =
pm.start_servers =
pm.min_spare_servers =
pm.max_spare_servers =
~~~内容
四:mysql安装
mysql第一次安装时直接按照第一篇参考资料安装的,直接文件夹安装的,遇到了很多的错误,而且最后始终是提醒缺少PID文件,并且启用不起来,而且没有错误日志,实在没办法,选择了卸载,重新安装,重新啊安装采用的yum安装的
1.卸载原有mysql残余,在网络查询如何完全下载
2.yum mysql安装参考:
https://www.linuxidc.com/Linux/2016-09/135288.htm
3.安装完成之后需要进行初始的访问设置,用户设置这些
参考:
https://blog.csdn.net/java_raylu/article/details/73196737
https://blog.csdn.net/u010072512/article/details/51802472
virtualBox安装centos7并配置nginx php mysql运行环境的更多相关文章
- [macOS] macOS下,VirtualBox安装CentOS7.4, 搭建nginx, mysql, PHP5.6&PHP7.1
准备工作 网络设置 相关教程:http://www.jianshu.com/p/e6ba699b5992 ifcfg-enp0s3配置 TYPE=Ethernet BOOTPROTO=dhcp DEF ...
- 虚拟机下安装Centos7并配置Apache+PHP+Mysql+phpmyadmin+wordpress
一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl start httpd //启动apache systemctl stop httpd ...
- Oracle VM VirtualBox 安装 Centos7 并配置静态IP
新建虚拟电脑 选择类型和版本 设置内存大小 现在创建虚拟硬盘 选择VDI 硬盘足够就选择 固定大小 选择虚拟硬盘存储位置不要放在默认的C盘下,设置大小为30G 等待创建虚拟硬盘 虚拟硬盘创建成果之后 ...
- [原创]Centos7 从零配置Nginx+PHP+MySql
序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...
- VirtualBox安装CentOS7的网络配置
VirtualBox安装CentOS7的网络配置 这几天在本机VirtualBox安装CentOS时遇到了网络的坑... VirtualBox的下载地址:https://www.virtualbox. ...
- windows7配置Nginx+php+mysql教程
windows7配置Nginx+php+mysql教程 最近在学习php,想把自己的学习经历记录下来,并写一些经验,仅供参考交流.此文适合那些刚刚接触php,想要学习并想要自己搭建Nginx+php+ ...
- LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx
前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...
- windows7配置Nginx+php+mysql的详细教程
windows7配置Nginx+php+mysql的详细教程 作者:Vincent.李 字体:[增加 减小] 类型:转载 时间:2016-09-04我要评论 这篇文章主要介绍了windows7配置Ng ...
- VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装
VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装在阿里云开源镜像地址下载镜像Index of /centos/7.2.1511/isos/x86_64/http://mirro ...
随机推荐
- Oracle基础 03 回滚表空间 undo
--查询默认的undo表空间 select name,value from v$parameterwhere name like '%undo%'; --创建 undotbs2 表空间 create ...
- springmvc对于前台date类型注意点
springmvc,可以自动将数据注入到: “name”值相同,便注入,比如String Integer 还有我们自定义的bean,比如User. 但是date类型的数据,如果前台传的是用" ...
- 对象存储 - Swift 原理 及 Swift+keystone+dashboard 架构搭建
1. 原理介绍 Swift 架构.原理及功能: http://www.cnblogs.com/sammyliu/p/4955241.html 总结的很详细也很全面,受益匪浅,感谢分享. 2. keys ...
- poj 1696(极角排序)
Space Ant Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3924 Accepted: 2457 Descrip ...
- Windows+Ubuntu双系统如何设置Windows为第一启动项
在安装双系统的时候,如果先安装的是Windows然后再安装Ubuntu系统,开机时是以Ubuntu的grub来引导Windows的,而且默认进入Ubuntu系统,下面我们介绍如何更改这个默认项,然后让 ...
- SaaS多租户模式数据存储方案比较
云计算多租户几乎用于所有软件即服务 (Software as a Service, SaaS) 应用程序,因为计算资源是可伸缩的,而且这些资源的分配由实际使用决定.话虽如此,用户可以通过 Intern ...
- EntityFramework整理
最近公司项目需要,想要给订单增加一个状态修改记录. 说起来很简单的需求,但是做的时候,卡了我半天... 问题描述: 修改订单状态保存之前的时候,需要判断,如果新状态不等于旧状态,才做记录,但是在底层的 ...
- 爬虫框架Scrapy的第一个爬虫示例入门教程
我们使用dmoz.org这个网站来作为小抓抓一展身手的对象. 首先先要回答一个问题. 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建项目 (Project):新建一个新的爬虫项目 明确目 ...
- Response 部分功能
设置状态码的方法: void setStatus(int sc) void setStatus(int sc, String sm) 设置响应头的方法: void setHeade ...
- Nginx 的安装配置入门(mac)
1.安装Nginx服务器: 执行命令 brew install nginx 安装完以后,可以在终端输出的信息里看到一些配置路径: /usr/local/etc/nginx/nginx.conf (配置 ...