本文主要介绍如何基于nginx或者apache将前端项目部署到虚拟机中,介绍如何搭建自己的web服务虚拟机。安装配置首先是安装虚拟机,这里省略安装过程,接下来主要介绍一下虚拟机环境的简单配置。这里用centos7.16配置虚拟机网卡信息找到网卡配置文件目录,登录cd/etc/sysconfig/network-scriptsviifcfg-ens33修改网卡配置文件TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesNAME=ens33UUID=fe0ce15e-460a-458f-a7ad-bbc1ac41e8cfDEVICE=ens33ONBOOT=yesIPADDR=172.16.6.252GATEWAY=172.16.6.1NETMASK=255.255.255.0NM_CONTROLLED=noDNS=114.114.114.114配置DNScd../vinetwork添加DNSDNS1=114.114.114.114DNS2=8.8.8.8保存关闭,重启网卡,即可正常上网。systemctlrestartnetwork.service查看刚刚配置的虚拟机IP地址ipaddr关闭防火墙并启用防火墙开放22端口firewall-cmd--zone=public--add-port=22/tcp--permanentsystemctlrestartfirewalld.servicesystemctl重启firewalld.service配置yum源为了更快的下载依赖包,这里配置yum源为阿里云yuminstall-ywgetbackup/etc/yum.repos.d/CentOS-Base.repo文件cd/etc/yum.repos.d/mvCentOS-Base.repoCentOS-Base.repo.back下载阿里云的Centos-7.repo文件wget-OCentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repoyumcleanallyummakecacheinstalliptables管理防火墙和端口号先查看是否安装了iptablesserviceiptablesstatus如果没有安装iptablesyuminstall-yiptables##升级iptables(不需要安装最新版本)yumupdateiptablesinstalliptables-servicesyuminstalliptables-services##Stopfirewalldservicesystemctlstopfirewalld##Disablefirewalldservicesystemctlmaskfirewalld为虚拟机防火墙添加规则vi/ect/sysconfig/iptables##Addrules-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPTApache安装使用apache改进HTTPServer,下面是apache安装命令sudoyuminstallhttpdsudosystemctlenablehttpdsudosystemctlstarthttpd##startsudoaystemctlstarthttpd.servicesudoserviceapache2start##停止并重启sudoaystemctlstophttpd.servicesudoaystemctlrestarthttpd.service安装后配置apache配置文件,配置web服务器sudovim/etc/httpd/conf/httpd.confhere仅介绍基于名称的虚拟主机配置方法。其他配置方法非常简单。可以直接找到vim/etc/httpd/conf.d/vhost.confDocumentRoot"/var/www/html/hjyb"ServerNamewww.hjyb.comDocumentRoot"/var/www/html/hjya"ServerNamewww.hjya.com配置完成后重启apache服务httpdrestart安装Mariadb有人会问为什么不是mysql,MariaDB是一个分支MySQL源代码,在意识到Oracle将对MySQLlicense做些什么后,将其分离(MySQL先后被Sun和Oracle收购),除了作为Mysql的“导演”NextAlternatives之外,MariaDB还包含了一些使其成为可能的新特性优于MySQL。下面是安装命令yuminstallmariadbmariadb-servicesystemctlstartmariadb.service如果发现重启不了,yumsearchmariadbyuminstallmariadb-benchmariadb-develmariadb-embeddedmariadb-embedded-develmariadb-libsmariadb-servermariadbmariadb-testsystemctlstartmariadb.service使用navicat连接数据库,如果发现连接不上,是因为centOS7禁止在3306端口安装rar解压rarwget,默认http://www.rarlab。com/rar/rarlinux-x64-5.3.0.tar.gztar-zxvfrarlinux-x64-5.3.0.tar.gzcdrarmake#unzip#rarxtext.rar#rartest.rar./test/打包测试目录astest.rar安装nginx安装nginx搭建静态服务器并配置代理。安装CentOS编译环境yum-yinstallgccautomakeautoconflibtoolmakeyuminstallgccgcc-c++选择源代码目录cd/usr/local/srcinstallPCRE库wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gztar-zxvfpcre-8.38.tar.gzcdpcre-8.38./configuremakemakeinstall安装zlib库wgethttp://zlib.net/zlib-1.2.11.tar。gztar–zxvfzlib-1.2.11.tar.gzcdzlib-1.2.11./configuremakemakeinstallinstallsslwgethttps://www.openssl.org/source/openssl-1.0.1t.tar.gztar–zxvfopensll-1.0.1吨。tar.gz安装nginxwgethttp://nginx.org/download/nginx-1.4.2.tar.gztar-zxvfnginx-1.4.2.tar.gzcdnginx-1.4.2./configure--sbin-path=/usr/local/nginx/nginx\--conf-path=/usr/local/nginx/nginx.conf\--pid-path=/usr/local/nginx/nginx.pid\--with-http_ssl_module\--with-pcre=/usr/local/src/pcre-8.38\--with-zlib=/usr/local/src/zlib-1.2.11\--with-openssl=/usr/local/src/openssl-1.0.1tmakemakeinstallnginx启用sudo/usr/local/nginx/nginx如果提示信息nginx:[emerg]bind()to0.0.0.0:80failed(98:Addressalreadyinuse)nginx:[emerg]bind()to0.0.0.0:80failed(98:Addressalreadyinuse)nginx:[emerg]bind()to0.0.0.0:80failed(98:Addressalreadyinuse)nginx:[emerg]bind()to0.0.0.0:80failed(98:Addressalreadyinuse)nginx:[emerg]bind()to0.0.0.0:80failed(98:Addressalreadyinuse)nginx:[emerg]stillcouldnotbind()表示80端口被占用netstat–antp修改nginx启动端口vim/etc/local/nginx/nginx.confServerlisten/usr/local/nginx/nginx查看nginx是否运行成功nginx停止命令psaux|grepnginxkill–INTnginx进程号快速停止nginx服务kill–HUPnginx进程号(nginx不重启,软关机)./nginx/nginx–sreloadkill–QUITnginx主进程号gracefulshutdownkill-9nginx主进程号kill–HUP`catlogs/nginx.pid`nginx虚拟主机配置方法#基于域名服务器{listen8002;服务器名称z.com;位置/{rootz.com;索引index.html;}}#基于端口server{listen2002;服务器名称z.com;位置/{root/var/www/test;索引index.html;}access_loglogs/z.com.aceesss.logmain;}#基于IPserver{listen8004;服务器名称172.16.42.206;位置/{根html/ip;索引index.html;}}#修改默认端口server{listen8001;服务器名称本地主机;位置/{根html;indexindex.htmlindex.htm;}error_page500502503504/50x.html;location=/50x.html{根html;}}#配置反向代理服务器{listen80;根/var/www/html/hjyb;索引index.html;服务器名称172.16.42.206;location/{try_files$uri$uri//index.html;}location/api/{proxy_redirect关闭;proxy_set_header主机$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded$proxy_add_x_forwarded_for;proxy_passhttp://172.16.42.206:7001/;}}配置好nginx后,web服务器就搭建好了,接下来就可以把前端打包好的代码丢到nginx的配置根目录下了