C2/C3 Wiki

C2/C3开发者的乐园

用户工具

站点工具


ubuntu_nginx_php-fpm_mysql_redis

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
ubuntu_nginx_php-fpm_mysql_redis [2019/09/20 07:12] – [HTTPS支持] 111.199.191.142ubuntu_nginx_php-fpm_mysql_redis [2025/09/17 09:14] (当前版本) Aven
行 3: 行 3:
 ===== 安装LNMP环境 ===== ===== 安装LNMP环境 =====
  
-==== 基础环境 ====+首先,墙裂推荐一套工具:[[https://winscp.net/eng/docs/lang:chs|WinSCP]]+[[https://www.putty.org/|Putty]],管理文件方便很多。Mac版用[[http://soft.macx.cn/2647.htm|Coda]]。
  
 +==== 基础环境 ====
 <code> <code>
 +
 apt-get update apt-get update
 apt-get install nginx mysql-server php     * 注意 期间会要求输入MySQL的root密码 apt-get install nginx mysql-server php     * 注意 期间会要求输入MySQL的root密码
 +
 </code> </code>
  
行 22: 行 25:
 #    # With php7.0-cgi alone; #    # With php7.0-cgi alone;
 #    fastcgi_pass 127.0.0.1:9000; #    fastcgi_pass 127.0.0.1:9000;
-#    # With php7.0-fpm; +#    # With php7.2-fpm; 
-    fastcgi_pass unix:/run/php/php7.0-fpm.sock;+    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
 } }
 ...... ......
  
-vi /etc/php/7.0/fpm/php-fpm.conf+vi /etc/php/7.2/fpm/php-fpm.conf
 ........... ...........
-listen = /run/php/php7.0-fpm.sock+listen = /run/php/php7.2-fpm.sock 
 </code> </code>
  
行 37: 行 41:
 nginx -s stop nginx -s stop
 nginx nginx
 +
 +</code>
 +
 +这里有可能出现找不到pid的情况,可能是因为阿里云服务器自动启动了apache,只要把它关掉就行
 +
 +<code>
 +netstat -ap | grep http
 +kill xxxxx(apache的pid)
 +
 +</code>
 +
 +关闭Apache2自启动,需要找到etc/rc0.d ~ rcx.d/目录下所有 S01apache2文件
 +
 +或直接卸载Apache2
 +<code>
 +
 +update-rc.d apache2 stop 80 0 1 2 3 4 5 6
 +或一个个删除
 +sudo mv S01apache2  K01apache2
 +
 +sudo apt-get remove apache2
 +
 </code> </code>
  
行 44: 行 70:
 vi /var/www/html/info.php vi /var/www/html/info.php
 <?php phpinfo();?> <?php phpinfo();?>
 +
 </code> </code>
  
行 49: 行 76:
  
 <code> <code>
-vi /etc/php/7.0/fpm/php.ini+vi /etc/php/7.2/fpm/php.ini
 找到 short_open_tag = Off 找到 short_open_tag = Off
 改为 short_open_tag = On 改为 short_open_tag = On
 +
 </code> </code>
 +
 +修改上传文件设置
 +
 +<code>
 +php.ini
 +upload_max_filesize = 128M
 +post_max_size = 128M
 +memory_limit = 256M
 +
 +nginx.conf
 +client_max_body_size 100M;
 +
 +</code>
 +需重启php和nginx
  
 安装curl扩展 安装curl扩展
  
 <code> <code>
-apt-get install curl libcurl3 libcurl3-dev php-curl+apt-get install php7.2-curl libcurl4 libcurl4-dev php-curl 
 +apt-get install php-mbstring 
 </code> </code>
  
行 73: 行 117:
 make make
 make install make install
 +
 </code> </code>
  
行 82: 行 127:
  
 Pong Pong
 +
 </code> </code>
  
 配置权限 配置权限
  
-<code>>config set masterauth   123456>config set requirepass   123456+<code>>config set masterauth   123456 
 +>config set requirepass   123456
 >config rewrite >config rewrite
  
-(error) NOAUTH Authentication required.>auth 123456+(error) NOAUTH Authentication required. 
 +>auth 123456
 >config rewrite >config rewrite
  
 ok ok
 +
 </code> </code>
  
行 98: 行 147:
  
 <code> <code>
-vi /etc/php/7.0/fpm/conf.d/redis.ini   * 注意 并无此文件 直接创建+vi /etc/php/7.2/fpm/conf.d/redis.ini   * 注意 并无此文件 直接创建
 extension=redis.so extension=redis.so
 +
 </code> </code>
  
行 108: 行 158:
 vi /etc/php/7.0/fpm/php.ini  * 在文件最后添加 vi /etc/php/7.0/fpm/php.ini  * 在文件最后添加
 extension="mysqli.so" extension="mysqli.so"
 +
 </code> </code>
  
行 114: 行 165:
 <code> <code>
 /etc/init.d/php7.0-fpm restart /etc/init.d/php7.0-fpm restart
 +
 </code> </code>
  
行 120: 行 172:
 <code> <code>
 service mysql start service mysql start
-mysql -uroot -p    * 注意 期间会要求验证之前输入的MySQL root密码>SET NAMES utf8;+mysql -u root -p    * 注意 期间会要求验证之前输入的MySQL root密码>SET NAMES utf8;
  
 Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec)
 +
 +</code>
 +
 +如果此时发现Mysql密码并未设置(按回车直接可进)则可以执行以下动作
 +
 +<code>>use mysql;>update user set authentication_string=password('新密码') where user='root';
 +
 </code> </code>
  
 ==== 修改mysql配置文件允许远程登陆 ==== ==== 修改mysql配置文件允许远程登陆 ====
 +
 <code> <code>
 +/etc/mysql/mysql.conf.d/mysqld.cnf
 +
 # Instead of skip-networking the default is now to listen only on # Instead of skip-networking the default is now to listen only on
 # localhost which is more compatible and is not less secure. # localhost which is more compatible and is not less secure.
-#bind-address = 127.0.0.1 #注释掉这一行就可以远程登录了+#bind-address        = 127.0.0.1        #注释掉这一行就可以远程登录了 
 </code> </code>
  
-==== HTTPS支持 ====+===== HTTPS支持 ====
 把证书保存到 /etc/nginx/cert/ 把证书保存到 /etc/nginx/cert/
 +
 +<code>
 vi /etc/nginx/sites-available/default vi /etc/nginx/sites-available/default
 +
 在最后添加配置 在最后添加配置
 +
 +server {
 +    # SSL configuration
 +
 +    listen 443 ssl default_server;
 +    listen [::]:443 ssl default_server;
 +
 +    #ssl on;
 +    ssl_certificate   cert/你的pem文件名.pem;
 +    ssl_certificate_key  cert/你的key文件名.key;
 +    ssl_session_timeout 5m;
 +    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
 +    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 +    ssl_prefer_server_ciphers on;
 +
 +    root /var/www/html;
 +
 +    # 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-php.conf;
 +        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
 +    }
 +
 +}
 +
 +</code>
 +
 +===== HTTPS支持 =====
 +=== 简单方案 ===
 +[[给nginx挂上免费的ssl|Ubuntu+Nginx+免费SSL]]
 +
 +=== 自定义方案 ===
 +把证书保存到 /etc/nginx/cert/
 +
 <code> <code>
 +vi /etc/nginx/sites-available/default
 +
 +在最后添加配置
 +
 server { server {
- # SSL configuration+    # SSL configuration
  
- listen 443 ssl default_server; +    listen 443 ssl default_server; 
- listen [::]:443 ssl default_server;+    listen [::]:443 ssl default_server;
  
- ssl on; +    #ssl on; 
- ssl_certificate   cert/你的pem文件名.pem; +    ssl_certificate   cert/你的pem文件名.pem; 
- ssl_certificate_key  cert/你的key文件名.key; +    ssl_certificate_key  cert/你的key文件名.key; 
- ssl_session_timeout 5m; +    ssl_session_timeout 5m; 
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; +    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; 
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2; +    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
- ssl_prefer_server_ciphers on;+    ssl_prefer_server_ciphers on;
  
- root /var/www/html;+    root /var/www/html;
  
- # Add index.php to the list if you are using PHP +    # Add index.php to the list if you are using PHP 
- index index.html index.htm index.php;+    index index.html index.htm index.php;
  
- server_name 你的域名;+    server_name 你的域名;
  
- location / { +    location / { 
- # First attempt to serve request as file, then +        # First attempt to serve request as file, then 
- # as directory, then fall back to displaying a 404. +        # as directory, then fall back to displaying a 404. 
- try_files $uri $uri/ =404; +        try_files $uri $uri/ =404; 
- }+    }
  
- location ~ \.php$ { +    location ~ \.php$ { 
- include snippets/fastcgi-php.conf; +        include snippets/fastcgi-php.conf; 
- fastcgi_pass unix:/run/php/php7.0-fpm.sock; +        fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
- }+    }
  
 } }
 +
 </code> </code>
 +
  
ubuntu_nginx_php-fpm_mysql_redis.1568934753.txt.gz · 最后更改: (外部编辑)