ubuntu服务器部署过程

 更新时间:2025年02月17日 10:45:43   作者:QC七哥  
本文详细介绍了Ubuntu服务器的部署过程,包括关闭欢迎消息、修改hostname、配置SSH、防火墙设置、安装和配置Web服务(如Nginx和Apache)、安装和配置MySQL、以及PHP的安装和配置,通过这些步骤,读者可以成功部署一个基本的Ubuntu服务器环境,感兴趣的朋友一起看看吧

关闭欢迎消息

服务器安装好 ubuntu 系统后,进行终端登录,会显示出很多的欢迎消息

通过在用户的根目录下执行 touch .hushlogin 命令,再次登录终端就不会出现欢迎消息

修改hostname显示

修改 /etc/hostname 文件内容为主机名,保存后重启系统

关闭超时断开

修改 /etc/ssh/sshd_config 的配置,在文件最后增加两行,值视情况修改

修改后运行 systemctl restart sshd 重启生效

ClientAliveInterval 60  # 每隔 60 秒向客户端发送一个心跳包
ClientAliveCountMax 3   # 如果连续 3 次没有收到客户端响应,则断开连接

修改 SecureCRT 的设置,点击 “Options” -> “Terminal”,勾选 Send Protocol NO-OP,设置一个时间值

防火墙配置

初始化情况下,防火墙并没有启动,使用 ufw enable 进行启用防火墙

防火墙启动后运行 ufw status,就会看到防火墙的状态为活跃状态 Status: active

通过 ufw allow 80 指令添加允许的端口,下面的端口应该加到允许列表中,其他端口视情况添加

22  ssh访问的端口
80  http的默认端口
443 https的默认端口

通过 ufw status 查看防火墙的状态,可以看到当前已经开启的端口

通过 ufw status numbered 可以查看规则的 numbered ,删除的时候需要通过 numbered 进行删除

删除规则的时候建议倒序删,因为删中间的记录,会导致后面的记录序号前移

安装web服务

想要简单的可以通过宝塔安装,但是宝塔的配置看起来十分混乱,所以还是自己安装更清晰一点

安装 nignx 或者 apache 服务,可选其中之一,安装后服务会自启动

apt update
apt install nginx 
apt install apache2

如果需要停止取消自启动,可以通过下面命令关闭

systemctl stop apache2
systemctl disable apache2

安装 php 服务的指定版本,php 对应的组件建议也安装下,特别是 php7.4-fpm 这个

add-apt-repository ppa:ondrej/php 
apt update
apt install php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-json php7.4-common php7.4-xml php7.4-zip php7.4-curl php7.4-mbstring

安装后可以通过 apt list --installed | grep php命令查看当前安装了哪些 php 的应用模块

安装 mysql,默认会安装 8.0 版本的,client 也一起安装上,安装后 mysql 服务也会自启动

apt install mysql-server mysql-client

配置nginx

nginx 的配置文件在 /etc/nginx/nginx.conf,修改配置然后 nginx -s reload 进行重新加载

配置重载生效后,通过浏览器访问页面显示出 Hello World! 表示配置成功

user root;
worker_processes auto;
pid /run/nginx.pid;
#include /etc/nginx/modules-enabled/*.conf;
events {
        worker_connections 768;
        # multi_accept on;
}
http {
        sendfile on;
        tcp_nopush on;
        types_hash_max_size 2048;
        # server_tokens off;
        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;
        set_real_ip_from 0.0.0.0/0;
        real_ip_header CF-Connecting-IP;
        real_ip_recursive on;
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;
        log_format main 'client[$remote_addr] cf[$realip_remote_addr] - $scheme[$time_local] request[$request] '
            '$status send[$body_bytes_sent] host[$host] refer[$http_referer] useragent[$http_user_agent]';
        map $http_user_agent $loggable {
            default 1;  # default log to access.log 
            "~*test" 0;  # remove log if User-Agent contain "test"
        }
        access_log /root/nginx/logs/access.log main if=$loggable;
        error_log  /root/nginx/logs/error.log;
        gzip on;
        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
        server {
            listen 80 default_server;
            server_name _;
            location / {
                default_type text/plain;
                add_header Content-Type text/plain; 
                return 200 'Hello World!';
            }
        }
}

配置mysql

终端运行 mysql 命令连接,然后使用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; 进行修改密码

修改密码后,通过 FLUSH PRIVILEGES 生效

如果要设置允许外部主机连接数据库,可以参考 我的另一篇文章

配置php

修改 /etc/php/7.4/fpm/pool.d/www.conf 配置文件,将下面的 user、group 改为 root 用户

修改之后,还有一个地方需要修改,通过 help 可以看到,php-fpm 默认是不支持 root 启动的,需要以 R 参数启动

/usr/lib/systemd/system/php7.4-fpm.service 文件的启动命令加一个 R 参数,允许以 root 启动

修改完毕后,运行 systemctl daemon-reload 使得 service 配置修改生效

然后再运行 systemctl restart php7.4-fpm 进行 php 模块的重启

测试php是否生效

配置好 php 之后,在 nginx 中新增一个location,内容如下

location ~ \.php$ {
    root           /root/nginx/html/; 
    fastcgi_pass   unix:/run/php/php7.4-fpm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

/root/nginx/html/ 目录下新增一个 phpinfo.php 的文件

<?php
phpinfo();

重新加载 nginx 配置,然后浏览器访问 http://IP地址/phpinfo.php 就可以看到以下的页面信息了

到此这篇关于ubuntu服务器部署过程的文章就介绍到这了,更多相关ubuntu服务器部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • CentOS 6.6实现永久修改DNS地址的方法

    CentOS 6.6实现永久修改DNS地址的方法

    这篇文章主要介绍了CentOS 6.6实现永久修改DNS地址的方法,涉及针对CentOS配置文件的相关设置技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • 跨域(CORS)问题的解决方案分享

    跨域(CORS)问题的解决方案分享

    跨域是指跨域名的访问,如果域名和端口都相同,但是请求路径不同,不属于跨域。跨域不一定会有跨域问题。因为跨域问题是浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能是于当前页同域名的路径,这能有效的阻止跨站攻击。
    2023-02-02
  • 配置管理和服务发现之Confd和Consul使用场景详解

    配置管理和服务发现之Confd和Consul使用场景详解

    这篇文章主要为大家介绍了配置管理和服务发现之Confd和Consul使用场景详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Node启动https服务器的教程

    Node启动https服务器的教程

    这篇文章主要介绍了Node启动https服务器的教程,有node原生版本,express 版本,koa版本,具体各个版本的代码讲解大家参考下本文
    2018-03-03
  • koa TS ESLint搭建服务器重构版过程详解

    koa TS ESLint搭建服务器重构版过程详解

    这篇文章主要为大家介绍了koa TS ESLint搭建服务器重构版过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Svn安装和使用_动力节点Java学院整理

    Svn安装和使用_动力节点Java学院整理

    这篇文章主要介绍了Svn安装和使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • linux 自动化运维工具ansible的使用详细教程

    linux 自动化运维工具ansible的使用详细教程

    这篇文章主要介绍了自动化运维工具ansible的使用详细教程的相关资料,需要的朋友可以参考下
    2016-02-02
  • 用rsync实现windows与linux文件同步的方法

    用rsync实现windows与linux文件同步的方法

    windows做为文件服务器,使用rsync的windows服务版本,然后配置好就可以了。需要的朋友可以参考下。
    2011-02-02
  • 使用.htaccess设置图片防盗链的详细方法

    使用.htaccess设置图片防盗链的详细方法

    对于虚拟主机用户来说,最方便的莫过于利用.htaccess设置图片防盗链了。上网搜了一下,.htaccess规则写法很多,但是大部分的区别在于最后一行,下面我们先看看正确的.htaccess防盗链写法,稍后我再详细解释一下最后一行的重点
    2018-02-02
  • Z-Order加速Hudi大规模数据集方案分析

    Z-Order加速Hudi大规模数据集方案分析

    这篇文章主要介绍了通过Z-Order技术加速的Hudi大规模数据集方案分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03

最新评论