这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
ubuntu_nginx_php-fpm_mysql_redis [2018/03/25 08:10] – [安装和配置redis] Aven | ubuntu_nginx_php-fpm_mysql_redis [2025/09/17 09:14] (当前版本) – Aven | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== ubuntu+Nginx+php-fpm+Mysql+Redis ====== | + | ====== ubuntu+Nginx+php-fpm+Mysql+Redis+ssl ====== |
===== 安装LNMP环境 ===== | ===== 安装LNMP环境 ===== | ||
+ | |||
+ | 首先,墙裂推荐一套工具:[[https:// | ||
+ | |||
==== 基础环境 ==== | ==== 基础环境 ==== | ||
< | < | ||
- | apt-get install nginx mysql-server php | + | |
+ | apt-get update | ||
+ | apt-get install nginx mysql-server php * 注意 期间会要求输入MySQL的root密码 | ||
</ | </ | ||
+ | |||
==== 配置Nginx支持PHP ==== | ==== 配置Nginx支持PHP ==== | ||
+ | |||
< | < | ||
vi / | vi / | ||
行 16: | 行 25: | ||
# # With php7.0-cgi alone; | # # With php7.0-cgi alone; | ||
# fastcgi_pass 127.0.0.1: | # fastcgi_pass 127.0.0.1: | ||
- | # # With php7.0-fpm; | + | # # With php7.2-fpm; |
- | fastcgi_pass unix:/ | + | fastcgi_pass unix:/ |
} | } | ||
...... | ...... | ||
- | + | vi /etc/php/7.2/ | |
- | vi /etc/php/7.0/ | + | |
........... | ........... | ||
- | listen = / | + | listen = / |
</ | </ | ||
+ | |||
==== 重启Nginx ==== | ==== 重启Nginx ==== | ||
+ | |||
+ | < | ||
nginx -s stop | nginx -s stop | ||
nginx | nginx | ||
+ | |||
</ | </ | ||
+ | |||
+ | 这里有可能出现找不到pid的情况,可能是因为阿里云服务器自动启动了apache,只要把它关掉就行 | ||
+ | |||
+ | < | ||
+ | netstat -ap | grep http | ||
+ | kill xxxxx(apache的pid) | ||
+ | |||
+ | </ | ||
+ | |||
+ | 关闭Apache2自启动,需要找到etc/ | ||
+ | |||
+ | 或直接卸载Apache2 | ||
+ | < | ||
+ | |||
+ | update-rc.d apache2 stop 80 0 1 2 3 4 5 6 | ||
+ | 或一个个删除 | ||
+ | sudo mv S01apache2 | ||
+ | |||
+ | sudo apt-get remove apache2 | ||
+ | |||
+ | </ | ||
+ | |||
==== 测试PHP ==== | ==== 测试PHP ==== | ||
+ | |||
+ | < | ||
vi / | vi / | ||
<?php phpinfo();?> | <?php phpinfo();?> | ||
+ | |||
</ | </ | ||
+ | |||
+ | 修改 short_open_tag | ||
+ | |||
+ | < | ||
+ | vi / | ||
+ | 找到 short_open_tag = Off | ||
+ | 改为 short_open_tag = On | ||
+ | |||
+ | </ | ||
+ | |||
+ | 修改上传文件设置 | ||
+ | |||
+ | < | ||
+ | php.ini | ||
+ | upload_max_filesize = 128M | ||
+ | post_max_size = 128M | ||
+ | memory_limit = 256M | ||
+ | |||
+ | nginx.conf | ||
+ | client_max_body_size 100M; | ||
+ | |||
+ | </ | ||
+ | 需重启php和nginx | ||
+ | |||
+ | 安装curl扩展 | ||
+ | |||
+ | < | ||
+ | apt-get install php7.2-curl libcurl4 libcurl4-dev php-curl | ||
+ | apt-get install php-mbstring | ||
+ | |||
+ | </ | ||
+ | |||
===== 安装redis ===== | ===== 安装redis ===== | ||
+ | |||
==== 安装和配置redis ==== | ==== 安装和配置redis ==== | ||
+ | |||
< | < | ||
apt-get install redis-server | apt-get install redis-server | ||
行 47: | 行 118: | ||
make install | make install | ||
- | vi /etc/php/7.0/ | + | </ |
+ | |||
+ | ==== 启动和测试Redis ==== | ||
+ | |||
+ | < | ||
+ | redis-server / | ||
+ | redis-cli> | ||
+ | |||
+ | Pong | ||
+ | |||
+ | </ | ||
+ | |||
+ | 配置权限 | ||
+ | |||
+ | < | ||
+ | >config set requirepass | ||
+ | >config rewrite | ||
+ | |||
+ | (error) NOAUTH Authentication required. | ||
+ | >auth 123456 | ||
+ | >config rewrite | ||
+ | |||
+ | ok | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== 配置php-redis ==== | ||
+ | |||
+ | < | ||
+ | vi /etc/php/7.2/ | ||
extension=redis.so | extension=redis.so | ||
+ | |||
</ | </ | ||
+ | |||
+ | ==== 配置mysqli ==== | ||
+ | |||
+ | < | ||
+ | apt-get install php-mysqli | ||
+ | vi / | ||
+ | extension=" | ||
+ | |||
+ | </ | ||
+ | |||
==== 重启fpm ==== | ==== 重启fpm ==== | ||
+ | |||
< | < | ||
/ | / | ||
+ | |||
</ | </ | ||
+ | |||
+ | ===== 启动MySQL ===== | ||
+ | |||
+ | < | ||
+ | service mysql start | ||
+ | mysql -u root -p * 注意 期间会要求验证之前输入的MySQL root密码> | ||
+ | |||
+ | Query OK, 0 rows affected (0.00 sec) | ||
+ | |||
+ | </ | ||
+ | |||
+ | 如果此时发现Mysql密码并未设置(按回车直接可进)则可以执行以下动作 | ||
+ | |||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== 修改mysql配置文件允许远程登陆 ==== | ||
+ | |||
+ | < | ||
+ | / | ||
+ | |||
+ | # Instead of skip-networking the default is now to listen only on | ||
+ | # localhost which is more compatible and is not less secure. | ||
+ | # | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== HTTPS支持 ===== | ||
+ | |||
+ | 把证书保存到 / | ||
+ | |||
+ | < | ||
+ | vi / | ||
+ | |||
+ | 在最后添加配置 | ||
+ | |||
+ | server { | ||
+ | # SSL configuration | ||
+ | |||
+ | listen 443 ssl default_server; | ||
+ | listen [::]:443 ssl default_server; | ||
+ | |||
+ | #ssl on; | ||
+ | ssl_certificate | ||
+ | ssl_certificate_key | ||
+ | ssl_session_timeout 5m; | ||
+ | ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256: | ||
+ | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; | ||
+ | ssl_prefer_server_ciphers on; | ||
+ | |||
+ | root / | ||
+ | |||
+ | # Add index.php to the list if you are using PHP | ||
+ | index index.html index.htm index.php; | ||
+ | |||
+ | server_name 你的域名; | ||
+ | |||
+ | location / { | ||
+ | # First attempt to serve request as file, then | ||
+ | # as directory, then fall back to displaying a 404. | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | fastcgi_pass unix:/ | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== HTTPS支持 ===== | ||
+ | === 简单方案 === | ||
+ | [[给nginx挂上免费的ssl|Ubuntu+Nginx+免费SSL]] | ||
+ | |||
+ | === 自定义方案 === | ||
+ | 把证书保存到 / | ||
+ | |||
+ | < | ||
+ | vi / | ||
+ | |||
+ | 在最后添加配置 | ||
+ | |||
+ | server { | ||
+ | # SSL configuration | ||
+ | |||
+ | listen 443 ssl default_server; | ||
+ | listen [::]:443 ssl default_server; | ||
+ | |||
+ | #ssl on; | ||
+ | ssl_certificate | ||
+ | ssl_certificate_key | ||
+ | ssl_session_timeout 5m; | ||
+ | ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256: | ||
+ | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; | ||
+ | ssl_prefer_server_ciphers on; | ||
+ | |||
+ | root / | ||
+ | |||
+ | # Add index.php to the list if you are using PHP | ||
+ | index index.html index.htm index.php; | ||
+ | |||
+ | server_name 你的域名; | ||
+ | |||
+ | location / { | ||
+ | # First attempt to serve request as file, then | ||
+ | # as directory, then fall back to displaying a 404. | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | fastcgi_pass unix:/ | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||