资讯专栏INFORMATION COLUMN

如何搭建自己的web服务器

Aceyclee / 2448人阅读

摘要:下面是安装命令如果发现重启不了使用连接数据库,如果发现连接不上,是因为默认是阻止端口安装解压解压将目录打包为安装安装搭建静态服务器,配置代理。

本文主要介绍如何将一个前端项目部署到基于nginx或者apache的虚拟机上,介绍如何搭建自己的web服务

虚拟机安装配置

首先是安装虚拟机,安装过程在这里省略,接下来主要介绍虚拟机环境的简单配置,这里使用的是centos7.16

配置虚拟机网卡信息

寻找网卡配置文件目录,并打卡

</>复制代码

  1. cd /etc/sysconfig/network-scripts
  2. vi ifcfg-ens33

修改网卡配置文件

</>复制代码

  1. TYPE=Ethernet
  2. BOOTPROTO=static
  3. DEFROUTE=yes
  4. NAME=ens33
  5. UUID=fe0ce15e-460a-458f-a7ad-bbc1ac41e8cf
  6. DEVICE=ens33
  7. ONBOOT=yes
  8. IPADDR=172.16.6.252
  9. GATEWAY=172.16.6.1
  10. NETMASK=255.255.255.0
  11. NM_CONTROLLED=no
  12. DNS=114.114.114.114

配置DNS

</>复制代码

  1. cd ../
  2. vi network

添加DNS

</>复制代码

  1. DNS1=114.114.114.114
  2. DNS2=8.8.8.8

保存后关闭,重启网卡,就可以正常上网了。

</>复制代码

  1. systemctl restart network.service

查看刚刚配置的虚拟机IP地址

</>复制代码

  1. ip addr

关闭防火墙并使防火墙开启22端口

</>复制代码

  1. firewall-cmd --zone=public --add-port=22/tcp –permanent
  2. systemctl restart firewalld.service
  3. systemctl restart firewalld.service
配置yum源

为了使下载依赖包更快,这里配置了yum源为阿里云

</>复制代码

  1. yum install -y wget

备份/etc/yum.repos.d/CentOS-Base.repo文件

</>复制代码

  1. cd /etc/yum.repos.d/
  2. mv CentOS-Base.repo CentOS-Base.repo.back

下载阿里云的Centos-7.repo文件

</>复制代码

  1. wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  2. yum clean all
  3. yum makecache
安装iptable 管理防火墙和端口号

先检查是否安装了iptables

</>复制代码

  1. service iptables status

如果没有安装iptables

</>复制代码

  1. yum install -y iptables
  2. ##升级iptables(安装的最新版本则不需要)
  3. yum update iptables

安装iptables-services

</>复制代码

  1. yum install iptables-services
  2. ##停止firewalld服务
  3. systemctl stop firewalld
  4. ##禁用firewalld服务
  5. systemctl mask firewalld

为虚拟机防火墙增加规则

</>复制代码

  1. vi /ect/sysconfig/iptables
  2. ##增加规则
  3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
Apache 安装

使用apache提高HTTP Server,下面是apache的安装命令

</>复制代码

  1. sudo yum install httpd
  2. sudo systemctl enable httpd
  3. sudo systemctl start httpd
  4. ##启动
  5. sudo aystemctl start httpd.service
  6. sudo service apache2 start
  7. ##停止和重启
  8. sudo aystemctl stop httpd.service
  9. sudo aystemctl restart httpd.service

安装完后配置apache的配置文件,配置web服务器

</>复制代码

  1. sudo vim /etc/httpd/conf/httpd.conf

这里只介绍基于名称的虚拟主机配置方式,其他配置方式都很简单,可以在apache的官方文档上直接找到

</>复制代码

  1. vim /etc/httpd/conf.d/vhost.conf
  2. DocumentRoot "/var/www/html/hjyb"
  3. ServerName www.hjyb.com
  4. DocumentRoot "/var/www/html/hjya"
  5. ServerName www.hjya.com

配置完毕后重启apache服务

</>复制代码

  1. service httpd restart
安装Mariadb

有人会问为什么不是mysql,MariaDB是MySQL源代码的一个分支,在意识到Oracle会对MySQL许可做什么后分离了出来(MySQL先后被Sun、Oracle收购)。除了作为一个Mysql的“向下替代品”,MariaDB包括的一些新特性使它优于MySQL。

下面是安装命令

</>复制代码

  1. yum install mariadb mariadb-service
  2. systemctl start mariadb.service

如果发现重启不了

</>复制代码

  1. yum search mariadb
  2. yum install mariadb-bench mariadb-devel mariadb-embedded mariadb-embedded-devel mariadb-libs mariadb-server mariadb mariadb-test
  3. systemctl start mariadb.service

使用navicat连接数据库,如果发现连接不上,是因为centOS7默认是阻止3306端口

安装rar解压rar

</>复制代码

  1. wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
  2. tar -zxvf rarlinux-x64-5.3.0.tar.gz
  3. cd rar
  4. make
  5. #解压
  6. #rar x text.rar
  7. #rar test.rar ./test /将test目录打包为test.rar
安装nginx

安装nginx搭建静态服务器,配置代理。

安装CentOS编译环境

</>复制代码

  1. yum -y install gcc automake autoconf libtool make
  2. yum install gcc gcc-c++

选定源码目录

</>复制代码

  1. cd /usr/local/src

安装PCRE库

</>复制代码

  1. wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
  2. tar -zxvf pcre-8.38.tar.gz
  3. cd pcre-8.38
  4. ./configure
  5. make
  6. make install

安装zlib库

</>复制代码

  1. wget http://zlib.net/zlib-1.2.11.tar.gz
  2. tarzxvf zlib-1.2.11.tar.gz
  3. cd zlib-1.2.11
  4. ./configure
  5. make
  6. make install

安装ssl

</>复制代码

  1. wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
  2. tarzxvf opensll-1.0.1t.tar.gz

安装nginx

</>复制代码

  1. wget http://nginx.org/download/nginx-1.4.2.tar.gz
  2. tar -zxvf nginx-1.4.2.tar.gz
  3. cd nginx-1.4.2
  4. ./configure --sbin-path=/usr/local/nginx/nginx
  5. --conf-path=/usr/local/nginx/nginx.conf
  6. --pid-path=/usr/local/nginx/nginx.pid
  7. --with-http_ssl_module
  8. --with-pcre=/usr/local/src/pcre-8.38
  9. --with-zlib=/usr/local/src/zlib-1.2.11
  10. --with-openssl=/usr/local/src/openssl-1.0.1t
  11. make
  12. make install

nginx启用

</>复制代码

  1. sudo /usr/local/nginx/nginx

如果提示一下信息

</>复制代码

  1. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
  2. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
  3. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
  4. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
  5. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
  6. nginx: [emerg] still could not bind()

说明80端口被占用

</>复制代码

  1. netstat –antp
  2. 修改nginx启动端口 vim /etc/local/nginx/nginx.conf
  3. Server里的listen
  4. /usr/local/nginx/nginx

查看nginx是否运行成功

nginx 停止命令

</>复制代码

  1. ps aux|grep nginx
  2. killINT nginx进程号 快速停止nginx服务
  3. kill –HUP nginx 进程号(不重启nginx,软关闭)
  4. ./nginx/nginx –s reload
  5. kill –QUIT nginx主进程号 优雅的关闭
  6. kill -9 nginx主进程号
  7. kill –HUP `cat logs/nginx.pid`
nginx虚拟主机配置方法

</>复制代码

  1. #基于域名
  2. server {
  3. listen 8002;
  4. server_name z.com;
  5. location / {
  6. root z.com;
  7. index index.html;
  8. }
  9. }
  10. #基于端口
  11. server {
  12. listen 2002;
  13. server_name z.com;
  14. location / {
  15. root /var/www/test;
  16. index index.html;
  17. }
  18. access_log logs/z.com.aceesss.log main;
  19. }
  20. #基于IP
  21. server {
  22. listen 8004;
  23. server_name 172.16.42.206;
  24. location / {
  25. root html/ip;
  26. index index.html;
  27. }
  28. }
  29. #修改默认端口
  30. server {
  31. listen 8001;
  32. server_name localhost;
  33. location / {
  34. root html;
  35. index index.html index.htm;
  36. }
  37. error_page 500 502 503 504 /50x.html;
  38. location = /50x.html {
  39. root html;
  40. }
  41. }
  42. #配置反向代理
  43. server {
  44. listen 80;
  45. root /var/www/html/hjyb;
  46. index index.html;
  47. server_name 172.16.42.206;
  48. location / {
  49. try_files $uri $uri/ /index.html;
  50. }
  51. location /api/ {
  52. proxy_redirect off;
  53. proxy_set_header Host $host;
  54. proxy_set_header X-Real-IP $remote_addr;
  55. proxy_set_header X-Forwarded $proxy_add_x_forwarded_for;
  56. proxy_pass http://172.16.42.206:7001/;
  57. }
  58. }

配置完nginx,web服务器就搭建完毕了,接下来就可以将前端打包好的代码扔到nginx的root配置的目录下就行了

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40271.html

相关文章

  • 如何使用maven搭建web应用

    摘要:引言有过一定应用开发的小伙伴一定有过使用框架搭建项目的经历。由于的面向项目的方法,许多项目发文时使用,而且公司项目采用的比例在持续增长。 引言 有过一定web应用开发的小伙伴一定有过使用框架搭建web项目的经历。的确,使用一些框架确实给我们的工作带来了很大的方便使得开发人员把更多的时间专注于业务的开发而把业务的逻辑实现交给了框架来实现,而搭建框架时比较烦的就是引入一系列jar包,因为我...

    DirtyMind 评论0 收藏0
  • 如何使用阿里云搭建wordpress网站(图文教程+小白专用+Linux版)?

    摘要:声明在任何云服务器上安装网站都是异曲同工,操作系统分为和。如果你没有购买阿里云,自然就不能申请服务号了。信息填完之后,阿里云那边会进行初步审核,我当时不超过几个小时就收到审核通过的邮件了。【声明】 在任何云服务器上安装wordpress网站都是异曲同工,操作系统分为window和Linux。在这里,我选择linux操作系统来搭建wordpress网站。 如果要了解基本的网站搭建流程,请看文章...

    k00baa 评论0 收藏0
  • 前端相关大杂烩

    摘要:希望帮助更多的前端爱好者学习。前端开发者指南作者科迪林黎,由前端大师倾情赞助。翻译最佳实践译者张捷沪江前端开发工程师当你问起有关与时,老司机们首先就会告诉你其实是个没有网络请求功能的库。 前端基础面试题(JS部分) 前端基础面试题(JS部分) 学习 React.js 比你想象的要简单 原文地址:Learning React.js is easier than you think 原文作...

    fuyi501 评论0 收藏0
  • 阿里天猫魔盒 TV 资深前端工程师刘丹:兴趣是最好老师

    摘要:程序员客栈王鑫从一名普通的前端工程师成长成为阿里的高级前端工程师,你是如何一步步走来刘丹在学校学习编程的时候,我就对编程很有兴趣,接触前端之后,更是喜欢,这应该是我一路走来的动力。 showImg(https://segmentfault.com/img/bVCWOM); 他是电子科技大学的高材生,通过兴趣和努力脚踏实地的成为了一名优秀的前端工程师。他是一个对新技术充满了无限渴望的优秀...

    DevTalking 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<