System

Linux CentOS 7 下安装 LNMP 环境

请先安装 Linux 常用依赖包:《Linux 常用 Yum 依赖包》

MySQL Yum 安装

官方文档:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

下载并安装 MySQL 官方的 Yum Repository

1.png

安装 MySQL

2.png

启动 MySQL

查看 MySQL 运行状态

3.png

设置开机启动

查看初始密码

4.png

进入数据库

5.png

此时必须修改初始密码才能操作数据库

【要求】密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且总密码长度至少为8个字符

6.png

MySQL 更新与不更新

可视化 MySQL 管理软件登录授权

Nginx Yum 安装

下载并安装 Nginx 官方的 Yum Repository

7.png

安装 Nginx

8.png

启动 Nginx

开启 80 端口,并通过域名或IP访问站点

9.png

设置开机启动

Nginx 配置信息

说明 路径
网站文件存放默认目录 /usr/share/nginx/html
网站默认站点配置 /etc/nginx/conf.d/default.conf
自定义Nginx站点配置文件存放目录 /etc/nginx/conf.d/
Nginx全局配置 /etc/nginx/nginx.conf
Nginx启动 nginx -c /etc/nginx/nginx.conf

PHP Yum 安装

下载并安装 Yum Repository

安装 PHP7.2

安装包 提供的扩展
mod_php72w php72w, mod_php, php72w-zts
php72w-bcmath
php72w-cli php-cgi, php-pcntl, php-readline
php72w-common php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif,
php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-hash, php-iconv,
php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar,
php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml,
php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib
php72w-dba
php72w-devel
php72w-embedded php-embedded-devel
php72w-enchant
php72w-fpm
php72w-gd
php72w-imap
php72w-interbase php_database, php-firebird
php72w-intl
php72w-ldap
php72w-mbstring
php72w-mysql php-mysqli, php_database
php72w-mysqlnd php-mysqli, php_database
php72w-odbc php-pdo_odbc, php_database
php72w-opcache php72w-pecl-zendopcache
php72w-pdo php72w-pdo_sqlite, php72w-sqlite3
php72w-pdo_dblib php72w-mssql
php72w-pear
php72w-pecl-apcu
php72w-pecl-imagick
php72w-pecl-mongodb
php72w-pgsql php-pdo_pgsql, php_database
php72w-phpdbg
php72w-process php-posix, php-sysvmsg, php-sysvsem, php-sysvshm
php72w-pspell
php72w-recode
php72w-snmp
php72w-soap
php72w-sodium
php72w-tidy
php72w-xml php-dom, php-domxml, php-wddx, php-xsl
php72w-xmlrpc

查看一下 PHP 版本,以及扩展

10.png

PHP + Nginx 配置

配置 PHP-FPM

启动 PHP-FPM

添加 PHP-FPM 至系统服务,并设置开机启动

《Linux CentOS 7 下添加 PHP-FPM 至系统服务》

检查 PHP-FPM 服务

11.png

修改 Nginx 配置

Nginx 重载配置

编写一个测试的 PHP 程序

浏览器输入地址查看

12.png

设置 Session 目录访问权限

PHP-FPM 启动、停止、重启

PHP-FPM 配置文件路径:/etc/php-fpm.conf and /etc/php-fpm.d/*.conf

Nginx 编译安装及优化

利用 TCMalloc 优化 Nginx 的性能

【注】这里的 Nginx 是以编译方式安装,而非 Yum 安装

Nginx 编译包下载地址:http://nginx.org/download/nginx-1.14.2.tar.gz

libunwind 下载地址:https://download-mirror.savannah.gnu.org/releases/libunwind/

gperftools 下载地址:https://github.com/gperftools/gperftools/releases/

Nginx 内核优化

常见优化参数如下:

将上面的内核参数值加入 /etc/sysctl.conf 文件中,然后执行如下命令使之生效:

配置文件优化

配置 参数 说明
worker_processes 8 Nginx 进程数,建议按照 CPU 数目来指定,
一般为它的倍数(如 2 个四核 CPU 计为 8)
worker_cpu_affinity 00000001 00000010
00000100 00001000
00010000 00100000
01000000 10000000
为每个进程分配 CPU,
上例中将 8 个进程分配到 8 个 CPU,也可以写多个,
或者将一个进程分配到多个 CPU
worker_rlimit_nofile 65535 当一个 Nginx 进程打开的最多文件描述符数目,
理论值应该是最多打开文件数(ulimit -n)与 Nginx 进程数相除,
但是 Nginx 分配请求并不是那么均匀,
所以最好与 ulimit -n 的值保持一致
use epoll 使用 epoll 的 I/O 模型
worker_connections 65535 每个进程允许的最多连接数,理论上每台 Nginx 服务器的
最大连接数为 worker_processes * worker_connections
keepalive_timeout 60 keepalive 超时时间
client_header_buffer_size 4k 客户端请求头的缓冲区大小,
可以根据系统分页大小来设置,一般一个请求头的大小不会超过4k
open_file_cache max=65535
inactive=60s
将打开文件指定缓存,默认没有启用。
max指定缓存数量,建议和打开文件数一致,
inactive 指经过多长时间没被请求后删除缓存
open_file_cache_valid 80s 指多长时间检查一次缓存的有效信息
open_file_cache_min_uses 1 open_file_cache 指令中的 inactive 参数时间内文件的最少使用次数,
如果超过这个数字,文件描述符一直是在缓存中打开的
OceanicKang
心若浮沉,浅笑安然
查看“OceanicKang”的所有文章 →

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关推荐