写了《从根部谈谈网站优化让网站的访问速度翻倍》这篇文章,觉得有必要再按目录详细提一下。所以这是上篇的后续文章。
第一步检查是否安装环境程序(一般新装的系统默认不会安装的)
which nginx #查看nginx是否存在
which php #查看php是否存在
which mysql #查看mysql是否存在
第二步 开始安装生产环境所需程序
安装Nginx
yum list nginx #列出nginx
yum install nginx #安装nginx
#看见{Complete! } 安装成功。
中间会询问你是否确认,直接y就OK了
下面是配置防火墙打开80和3306端口,详情搜索去。
下面进一步确认Nginx是否安装成功
which nginx #查看nginx是否存在
service nginx start #启动nginx进程方法[1]
/etc/init.d/nginx start #启动nginx进程方法[2]
ps -ef | grep nginx #查看nginx进程
在我启动Nginx时会报出如下错误
Starting nginx: nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
找了好久才发现是配置文件的原因,因为Nginx在启用时监控了两个80端口,导致冲突无法启动,找到配置文件将listen [::]:80 default_server;注释掉就OK了,如下:
listen 80 default_server;
# listen [::]:80 default_server;
浏览器输入你的ip地址可以访问欢迎页。
至此Nginx就成功启动了
第三步 安装PHP
1
安装PHP:
yum list php php-fpm #列出php 和php-fpm 是否存在
yum -y install php php-fpm #安装php 和php-fpm软件包
#看见{Complete! } 安装成功。
————————————
启动php-fpm:
/etc/init.d/php-fpm start #1
service php-fpm start #2
安装完成后配置Nginx文件将.php文件转给PHP处理
修改nginx配置文件让PHP的请求转发到php-fpm所绑定的ip和端口上:
vi /etc/nginx/conf.d/default.conf #行[37-43]
去掉#号:
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
代码解释:
当用户的请求URL是以 .php 为结尾的时候
则执行这个区块的内容:
root 指定的目录
pass 转发端口[e]
index 如果是指定目录结尾的时候 自动加上 index.php
param 要执行documnetRoot 里的文件 传递过来的文件名
include 在家配置文件[e]
重启nginx:
/etc/init.d/nginx restart #1
service nginx restart #2
————————————————–
验证是否处理请求PHP文件:
vi /usr/share/nginx/html/info.php
—————————————————
访问IP网址:
http://ip/info.php
到此PHP安装完成
第四步安装MySQL
yum list mysql mysql-server #搜索mysql数据包
yum -y install mysql mysql-server #不需要提示安装
#看见{Complete! } 安装成功。
查看mysql mysql-server是否存在:
which mysql #查看mysql是否存在
which mysqld_safe #查看mysqld_safe是否存在
——————————————————-
mysql_install_db #mysql初始化,在mysql中建立起系统表
mysqld_safe & #启动mysql
ps -ef | grep mysqld #mysqld 是否存在
———————————————-
mysql -uroot #链接进入mysql数据库
Ctrl-C — exit! #退出终端
- yum -y install php-mysql #安装php-mysql 扩展
service php-fpm restart #重启php-fpm进程
- 检查是否可以通过php操作mysql数据库:
vi /usr/share/nginx/html/db.php
———————————————————
php /usr/share/nginx/html/db.php #用命令行执行php
http://182.92.73.109/db.php #在浏览器执行
- /etc/init.d/mysqld stop #停止mysql进程[1]
service mysqld stop #停止mysql进程[2]
————————————————–
php /usr/share/nginx/html/db.php #用命令行执行php
http://182.92.73.109/db.php #在浏览器执行
—————————————————
看到 “connect mysql failed” 就是说明数据 链接没有问题