centos前端环境安装

1.磁盘挂载

许多朋友不清楚自己是否有数据盘需要挂载(虽然购买时自己买没买你应该知道的,但还是有人不知道啊),那么你应该在linux服务器上使用使用“fdisk -l”命令查看。如下图:若您执行fdisk -l命令,发现没有 /dev/xvdb 标明您的云服务无数据盘,那么您无需进行挂载,此时该教程对您不适用

  • 如果上一步你看到了/dev/xvdb,那么就执行“fdisk -S 56 /dev/xvdb”命令,对数据盘进行分区;根据提示,依次输入“n”,“p”,“1”,两次回车,人后输入“wq”退出。分区就开始了,很快就会完成。

  • 此时再使用“fdisk -l”命令可以看到,新的分区xvdb1已经建立完成了。

  • 这时候需要注意,有两种情况。第一种,你这个数据盘是新购买的,以前没有用过(没有存储过数据),那么就要对其进行格式化,使用“mkfs.ext3 /dev/xvdb1”命令。第二种,如果你之前就有数据盘,只是你把系统盘重置了,需要将数据盘再次挂载到重置后的系统上,那么就不要对其格式化(跳过此步骤),直接执行后面的步骤挂载就可以了。

  • 在继续下面的命令前,你需要知道的是,下面那行命令的“/mnt”就是你要把数据盘挂载到的文件夹,如果你想挂载到别的文件夹,比如你自己建立的/mydata那么就把/mnt改成/mydata,前提是你已经创建了这个目录(创建目录的命令是mkdir)。使用“echo '/dev/xvdb1 /mnt ext3 defaults 0 0' >> /etc/fstab”(不含引号)命令写入新分区信息。然后使用“cat /etc/fstab”命令查看,出现以下信息就表示写入成功。

  • 最后,使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了。

2.安装Centos相关 openresty

yum -y update更新相关安装包

2.1 mnt目录新建相关文件夹

  • 1、logs (访问日志文件夹)
  • 2、project(项目文件夹)
  • 3、ssl443 (https证书文件夹)
  • 4、openresty (nginx文件夹)
  • 5、tools (工具包文件夹)

2.2 安装依赖

  • 1、为编译程序做准备,执行如下命令
yum install pcre-devel openssl-devel gcc curl postgresql-devel  

2.3安装openresty

  • 1.openresty-1.15.8.3.tar.gz放到tools文件夹下
  • 2.解压源码包openresty-1.15.8.3.tar.gz 在tools目录下
tar -zxvf openresty-1.15.8.3.tar.gz
  • 3.cd 到openresty-1.15.8.3目录下
cd /mnt/tools/openresty-1.15.8.3
  • 4.配置openresty选项
./configure --prefix=/mnt/openresty --with-luajit --with-http_iconv_module --with-http_postgres_module
说明:/mnt/openresty 是openresty安装目录
  • 5.接下来编译并安装源码(都是在tools目录openresty-1.15.8.3目录下)
make && make install 
  • 6.配置nginx环境变量,打开/etc/profile文件加入如下信息 export PATH=$PATH:/mnt/openresty/nginx/sbin 然后执行命令
source  /etc/profile (使修改的环境变量生效)

2.4 Centos 开机启动Openresty之中的Nginx

  • 1.在系统服务目录(/usr/lib/systemd/system/)里创建nginx.service文件。nginx.service内容如下
[Unit]
Description=nginx
After=network.target
 
[Service]
Type=forking
ExecStart=/mnt/openresty/nginx/sbin/nginx
ExecReload=/mnt/openresty/nginx/sbin/nginx -s reload
ExecStop=/mnt/openresty/nginx/sbin/nginx -s quit
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
参数说明
Description:描述服务
After:描述服务类别
 
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
 
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
  • 2.设置开机启动,执行命令
systemctl enable nginx.service(开机启动)
systemctl disable nginx.service (开机禁用)

2.5 nginx 命令

检查配置文件nginx.conf文件的正确性命令 nginx -t检测正确性

  • 1.nginx -s reload
  • 2.nginx -s stop

3.linux其他配置

3.1 安装node.js和pm2

yum -y update
1.curl -sL https://rpm.nodesource.com/setup_10.x | bash -
2.yum install -y nodejs
3.npm install pm2 -g

3.2 安装git

yum install -y git

3.3 在服务器生成ssh并且写入gitee为了服务器上每次git pull重复输入密码

1.ssh-keygen -t rsa -C "2331396362@qq.com"
2.三次回车直接使用默认值
3.cd ~/.ssh
4.cat  id_rsa.pub 复制内容到gitee上

3.4 部署项目

1.在项目的package.json中script加入 "pm2": "pm2 start npm --name 'pc_hhb' -- run start"

2.npm run pm2 


3.5 修改hosts

  • 1.vi /etc/hosts进入host添加自己的api
  • 2./etc/init.d/network restart 重新启动

4.nginx开发部署

4.1新建conf文件

以hhb的前端项目为例子,进入/mnt/openresty/nginx/conf/ 新加入 vhost文件夹,所有的新的配置都放在这里。

## www.cbi360.net_hhb.conf内容 
server {	
        listen       80;

        listen      443 ssl;

        server_name  www.cbi360.net;

        #添加https配置

        include vhost/ssl.conf;

        #lua脚本可以不使用

        access_by_lua_file   /mnt/openresty/nginx/conf/lua/access_by_mns.lua;

        #自定义头部这里一定要加上

        underscores_in_headers on;

        #自定义日志位置和格式

	      if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
            set $year $1;
            set $month $2;
            set $day $3;
        }
        access_log  /mnt/logs/www.cbi360.net_hhb/$year-$month-$day-access.log;
        error_log  /mnt/logs/www.cbi360.net_hhb/error.log    error;
        include vhost/ua.conf;

	      #location ~* \.(png|jpg|jpeg|gif|js|css|bmp|flv|ico)$ {
	      #        access_log off;
	      #        proxy_pass         http://127.0.0.1:3002;
        #    proxy_http_version 1.1;
        #    proxy_set_header   Upgrade $http_upgrade;
        #    proxy_set_header   Connection keep-alive;
        #    proxy_set_header   Host $host;
        #    proxy_cache_bypass $http_upgrade;
        #    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        #    proxy_set_header   X-Forwarded-Proto $scheme;
	      #}
		
	      location ~* ^/hhb/sg_([0-9]+)/gs/? {
            if ($http_user_agent ~* "(baiduspider|baiduspider/2.0)") {
		            return  404;
            }
            proxy_pass         http://127.0.0.1:9527;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
	      }

	      #添加蜘蛛重定向	
        location ^~ /hhb {
            proxy_pass         http://127.0.0.1:9527;
            include vhost/www.cbi360.net_hhb_spider_proxy.conf;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
       		
        location / {
            proxy_pass         http://127.0.0.1:9527;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
        #添加健康检测
        include vhost/www.cbi360.net_hhb_monitor.conf;

    }


4.2再nginx.conf中引入相关

进入/mnt/openresty/nginx/conf/ 找到nginx.conf

#这里一定要加root 不然自定义日志不会生效
user root;
worker_processes  4;

events {
    worker_connections  10240;
}


http {
    # 隐藏Nginx版本信息
	server_tokens off;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
	#代理的相关参数设置
	fastcgi_connect_timeout 300;
	fastcgi_send_timeout 300;
	fastcgi_read_timeout 300;
	fastcgi_buffer_size 128k;
	fastcgi_buffers 4 128k;
	fastcgi_busy_buffers_size 256k;
	fastcgi_temp_file_write_size 256k;
	
	
	# 启用gzip压缩,提高用户访问速度
	gzip on;
	gzip_min_length 1k;
	gzip_buffers 4 32k;
	gzip_http_version 1.1;
	gzip_comp_level 2;
	gzip_types text/plain application/x-javascript text/css application/xml;
	gzip_vary on;
	gzip_disable "MSIE [1-6].";
	
	
	server_names_hash_bucket_size 128;
	client_max_body_size 100m;
	client_header_buffer_size 256k;
	large_client_header_buffers 4 256k;
	
	
	proxy_redirect off;
	proxy_set_header Host $http_host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	
	resolver 8.8.8.8;
	
  #增加虚拟主机   
  include vhost/www.cbi360.net_hhb.conf;
 
 
}

防火墙方面

  • 1.设置开机启用防火墙:systemctl enable firewalld.service
  • 2.设置开机禁用防火墙:systemctl disable firewalld.service
  • 3.启动防火墙:systemctl start firewalld
  • 4.关闭防火墙:systemctl stop firewalld
  • 5.检查防火墙状态:systemctl status firewalld

1.开放指定端口

  • 1.查看防火墙状态:firewall-cmd --state
  • 2.重新加载配置:firewall-cmd --reload
  • 3.查看开放的端口:firewall-cmd --list-ports
  • 4.开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
  • 5.关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent

2.开启对外端口号

添加端口 返回 success 代表成功(--permanent永久生效,没有此参数重启后失效)

//单个开放
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent

//批量开放
firewall-cmd --zone=public --add-port=80-85/tcp --permanent


//关闭端口
firewall-cmd --zone=public --remove-port=443/tcp --permanent

//重载
firewall-cmd --reload











posted @ 2020-12-13 09:14  考拉很OK  阅读(209)  评论(0编辑  收藏  举报