前往顾页
以后地位: 主页 > 精通Office > Ubuntu教程 >

Ubuntu 从搭建到优化

时候:2018-10-30 14:12来源:知行网www.zhixing123.cn 编辑:麦田守望者

起步

点窜主机名

建设文件 : /etc/hostname

点窜办事器端口

为了办事器宁静, 可点窜登录办事器的端口, 端口默许是 22, 建设文件 vim /etc/ssh/sshd_config 找到 Port 22 点窜

点窜完以后, 履行 reboot 重启办事器.

软件装置体例

Ubuntu 装置软件非常简朴 apt-get install, 不过装置之前先更新源, apt-get update, 衍生号令 apt-get dist-upgrade 这是更新体系中所有的软件, 在履行这个号令之前要 apt-get update 更新源更新以后再更新软件.

起步软件装置

  • apt-get install curl
  • apt-get install wget
  • apt-get install mcrypt
  • apt-get install openssl

装置

装置 Nginx 办事器

履行 apt-get install nginx, Nginx 的默许装置目次是 /etc/nginx

Nginx 建设文件

主建设文件 /etc/nginx/nginx.conf, 不过 Ubuntu 体系主动为我们的 Nginx 建设文件做了分片, 如许便利我们浏览, 编辑主建设文件.

vim /etc/nginx/nginx.conf  

主建设安排一些建设信息, 老手临时不消理睬, 在建设文件 70 行有以下建设

include /etc/nginx/conf.d/*.conf;  
include /etc/nginx/sites-enabled/*;  

/etc/nginx/conf.d/*.conf

这里值得重视的是 conf.d 目次下放的也是 Nginx 的建设, 在加载依次上 conf.d 内里的建设在最下面, 它会覆盖原有建设文件内里的建设, 如果我们需求去点窜建设, 要在 conf.d 内里点窜, 而不是直接点窜主建设文件, 如许就算改错了也能规复.

/etc/nginx/sites-enabled/*

sites-enabled 是假造机主机建设文件, 我们去增加一个站点的不会再 nginx.conf 内里进行点窜, 当然也不会再 sites-enabled 内里, 而是在 sites-available 文件夹内里, 从两个文件夹的字面意义也能晓得 sites-available 是可用站点, sites-enabled 是已用站点.

现在经由过程 IP 就可以拜候到我们默许的 Nginx 办事器.

装置 PHP

履行号令 apt-get install php5, apt-get install php5-fpm

装置完 PHP 以后临时是不克不及履行 PHP 文件的, 因为 Nginx 还没有建设'辨认' PHP 文件

建设 Nginx '辨认' PHP

翻开 Nginx 站点默许建设文件 vim /etc/nginx/sites-available/default 开端建设

server {  
        listen 80 default_server; // 监听80端口, 默许站点
        listen [::]:80 default_server ipv6only=on; // IPV6 开启

        root /usr/share/nginx/html; // 网站站点目次

        index index.php index.html index.htm; // 默许首页, 这里增加 index.php

        server_name localhost; // 域名

        location / {
                try_files $uri $uri/ =404; // 首页拜候法则
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        // 开启这块的注释
        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

                // 两种体例 : 1.监听 9000 端口, 2.sock 链接, 保举利用 1
                fastcgi_pass 127.0.0.1:9000;
        #       fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}

如果是设置的 fastcgi_pass unix:/var/run/php5-fpm.sock fpm 建设文件不需求点窜, 如果是监听 9000 端口就需求点窜 fpm 建设文件 vim /etc/php5/fpm/pool.d/www.conf.

// 注释失落 sock 增加监听 9000 端口
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000  

fpm 建设文件点窜以后, 需求重启 fpm 才气见效 service php5-fpm start, 如果想要检测 9000 端口是不是开启成功运行 netstat -tln

运行 PHP 文件

Nginx 的站点默许目次 /usr/share/nginx/html/

// 进入站点目次
cd /usr/share/nginx/html  
// 编辑一个 PHP 文件
vim index.php

// 内容以下
<?php  
    phpinfo();
?>

优化

php-fpm 优化

php-fpm 建设文件在 /etc/php5/fpm/pool.d/www.conf

php-fpm.conf 首要优化参数详解

// 检察建设文件
cat /etc/php5/fpm/pool.d/www.conf  

pm = dynamic

pm 参数指定了过程办理体例, 有两种可供挑选: static 或 dynamic, 别离为静态或静态体例.

  • static 静态体例: 在php-fpm 启动的时候就建立了指定命目标过程, 在运行过程中不会再有转变 (其实不是真的就永久不变)
  • dynamic 静态体例: 在运行过程中静态调剂, 当然其实不是无穷制的建立新过程, 受 pm.max_spare_servers 参数影响, 静态适合小内存机器, 矫捷分派过程,省内存. 静态合用于年夜内存机器, 静态建立收受领受过程对办事器资本也是一种耗损.

pm.max_children = 24

static 形式下建立的子过程数或 dynamic 形式下同一时刻许可最年夜的 php-fpm 子过程数量.

pm.start_servers = 16

静态体例下的肇端 php-fpm 过程数量

pm.minspareservers = 12

静态体例下办事器余暇时最小 php-fpm 过程数量

pm.maxspareservers = 24

静态体例下办事器余暇时最年夜 php-fpm 过程数量

一般 php-fpm 过程占用 20~30m 摆布的内存就按 30m 算. 如果伶仃跑 php-fpm, 静态体例肇端值可设置物理内存 Mem/30M, 因为年夜家一般 NginxMySQL 都在一台机器上, 因而预留一半给它们, 即 php-fpm 过程数为 $Mem/2/30。

// LNMP在一台机器上参数(仅供参考,建议压力测试得出)
Mem=`free -m | awk '/Mem:/{print $2}'` #这台机器内存是 987M  
sed -i "s@^pm.max_children.*@pm.max_children = $(($Mem/2/20))@" $php_install_dir/etc/php-fpm.conf  
sed -i "s@^pm.start_servers.*@pm.start_servers = $(($Mem/2/30))@" $php_install_dir/etc/php-fpm.conf  
sed -i "s@^pm.min_spare_servers.*@pm.min_spare_servers = $(($Mem/2/40))@" $php_install_dir/etc/php-fpm.conf  
sed -i "s@^pm.max_spare_servers.*@pm.max_spare_servers = $(($Mem/2/20))@" $php_install_dir/etc/php-fpm.conf

// 987M 内存:
pm = dynamic  
pm.max_children = 24  
pm.start_servers = 16  
pm.min_spare_servers = 12  
pm.max_spare_servers = 24  

下面代码块是一个主动计较的脚本 $php_install_dir/etc/php-fpm.conf 这里替代为你 php-fpm.conf 的途径, 或带有有上述参数的建设文件, 然后就会主动替代参数, 下面另有更简朴的体例.

家目次天生一个文件

cd /root  
vim 1.conf  

增加一下内容

pm = dynamic  
// 以下的参数随便填写, 前面管帐算出来.
pm.max_children = 24  
pm.start_servers = 16  
pm.min_spare_servers = 12  
pm.max_spare_servers = 24

主动计较最优参数

// 以下代码一行一行复制至号令行履行
Mem=`free -m | awk '/Mem:/{print $2}'`  
sed -i "s@^pm.max_children.*@pm.max_children = $(($Mem/2/20))@" /root/1.conf  
sed -i "s@^pm.start_servers.*@pm.start_servers = $(($Mem/2/30))@" /root/1.conf  
sed -i "s@^pm.min_spare_servers.*@pm.min_spare_servers = $(($Mem/2/40))@" /root/1.conf  
sed -i "s@^pm.max_spare_servers.*@pm.max_spare_servers = $(($Mem/2/20))@" /root/1.conf  

履行完成以后 1.conf 文件的内容会按照以后办事器建设, 主动计较出最好参数, cat 1.conf 检察文件, 遵循内里的参数填写到你的 fpm 建设文件当中. 值得一提的是如果你的办事器内存是 1G 计较出的成果不会改变. (这里指下面 1.conf 的参数)

这是我机器计较出来的成果

// 以后机器内存为 : 1984M
pm = dynamic  
pm.max_children = 49  
pm.start_servers = 33  
pm.min_spare_servers = 24  
pm.max_spare_servers = 49  
------分开线----------------------------
标签(Tag):Ubuntu Ubuntu从搭建到优化
------分开线----------------------------
保举内容
猜你感兴趣