WSL搭建nginx+php+mysql环境

WSL搭建nginx+php+mysql环境,第1张

1、安装:(参考: https://www.cnblogs.com/JettTang/p/8186315.html )

2、初始化

3、自启动服务(参考: https://blog.csdn.net/donglynn/article/details/53505495 )

4、解决nginx编译php巨慢的方法:

查看错误日志(应该是/var/log/nginx/error.log)如下:

upstream timed out (110: Connection timed out) while reading upstream, client: 127.0.0.1, server: foo.com , request: "GET / HTTP/1.1", upstream: " fastcgi://unix:/run/php/php7.2-fpm.sock :", host: " foo.com "

具体方法:

5、查看已安装的wsl

6、关闭开启的wsl(根据上面命令获取的wsl的name)

7、网站文件无法更新权限及所属用户(组)

在Windows下配置搭建PHP环境的步骤:

一、准备工作-下载所需软件

Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi

PHP php-5.3.10-Win32-VC9-x86.zip

MySQL mysql-5.5.20-win32.msi

二、安装软件

1、安装Apache: 双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。

安装完成之后,在浏览器输入http://localhost,如果显示It Works!,表示Apache安装成功。

2、安装PHP:将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可。

3、安装MySQL:双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom

安装完成后开始配置MySQL,全部保持默认选项即可,但最好把MySQL默认编码改为utf8,在Modify Security Settings选项中设置密码,输入两次密码即可完成,最后点Execute完成配置。

三、整合Apache+PHP+MySQL

Apache : 首先修改Apache的配置文件,让Apache支持解析PHP文件。Apache配置文件在Apache安装目录的conf目录下的httpd.conf。

1. 让Apache可以解析php文件,在配置文件中找到

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

在下一行添加 (绿色的位置是根据PHP的所在目录而定的)

LoadModule php5_module "D:/Develop/PHP/php5apache2_2.dll"PHPIniDir "D:/Develop/PHP"AddType application/x-httpd-php .php .html .htm

2. 在配置文件中找到

DirectoryIndex index.html

改为

DirectoryIndex index.php index.html

3. 修改Apache站点目录,在配置文件中找到(Apache安装的目录不同,显示的值不一样)

DocumentRoot "D:/Develop/Apache2.2/htdocs"

改为

DocumentRoot "D:/Workspace/PHP"

再找到

<Directory "D:/Develop/Apache2.2/htdocs">

改为

<Directory "D:/Workspace/PHP">

PHP : 把php.ini-development改名为php.ini,作为PHP的配置文件。修改php.ini

1. 设置PHP扩展包的具体目录,找到

On windows:extension_dir = "ext"

改为 (值是ext文件夹的目录)

On windows: extension_dir = "D:/Develop/PHP/ext"

2. 开启相应的库功能,找到需要开启的库的所在行

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_xmlrpc.dll

去掉前面的分号(注释),即改为

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_xmlrpc.dll

3. 设置时区,找到

date.timezone =

改为

date.timezone = Asia/Shanghai

配置完成,检测一下配置是否成功。重启Apache,在站点目录下新建文件index.php,输入内容。

一、简介

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过三年了。Igor Sysoev在建立的项目时,使用基于BSD许可。

在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。

Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻、腾讯网、搜狐博客等门户网站频道,六间房、56.com等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,盛大在线、金山逍遥网等网络游戏网站,豆瓣、人人网、YUPOO相册、金山爱词霸、迅雷在线等新兴Web 2.0网站。

为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。

处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:

假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的 *** 作之一,select和epoll的性能谁的性能更高,同样十分明了。

Nginx 的官方中文维基:http://wiki.nginx.org/NginxChs

二、系统环境

系统平台:RHEL 5.4(系统要求:Linux 2.6+ 内核)

Nginx版本:nginx/1.0.15

Mysql 版本:5.1.35-log Source distribution

Php版本:php-5.2.10

三、安装准备

1、获取相关开源程序并安装

RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包RedHat可以直接利用CentOS的RPM包安装。

可以用rpm安装以下包,如有关联包,安装时一起安装。

gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

以上包如果安装了的话,不需要再安装了。

2、RPM包搜索网站

http://rpm.pbone.net/

http://www.rpmfind.net/

http://code.google.com/p/zed-lnmp/

3、nginx软件包准备

Nginx所需要的软件包可以从下面位置获取,也可以记住名字在google中搜索。

nginx-0.7.61.tar.gz

php-5.2.10.tar.gz

php-5.2.10-fpm-0.5.11.diff.gz

mysql-5.1.35.tar.gz

libiconv-1.13.tar.gz

libmcrypt-2.5.8.tar.gz

mcrypt-2.6.8.tar.gz

memcache-2.2.5.tgz

mhash-0.9.9.9.tar.gz

pcre-7.9.tar.gz

eaccelerator-0.9.5.3.tar.bz2

PDO_MYSQL-1.0.2.tgz

ImageMagick.tar.gz

imagick-2.2.2.tgz


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6160952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存