centos搭建网站教程
作者:king发布时间:2023-08-05分类:日常常识浏览:24
导读:首先,安装[安装是一个汉语词汇,拼音是ānzhuāng,就是按照一定的程序、规格把机械或器材固定在一定的位置上,也指按照一定的方法、规格把机械或器材等固定在一定的地方。]好NGI...
首先,安装[安装是一个汉语词汇,拼音是ān zhuāng,就是按照一定的程序、规格把机械或器材固定在一定的位置上,也指按照一定的方法、规格把机械或器材等固定在一定的地方。]好NGINX服务器[服务器,也称伺服器,是提供计算服务的设备。](安装方法请参加我发布的centos7搭建nginx网站服务器一次性通过文章)。
现在开始配置PHP服务器
一、首先安装PHP服务
1、安装php的lib库
#yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devellibiconv-devel curl-devel mhash mcrypt -y #yum install freetype-devel libpng-devel gd-devel libcurl-devellibxslt-devel libxslt-devel libmcrypt-devel openssl openssl-devel libbz2-dev -y
3、安装和下载php
下载地址:
https://****php****/releases/,下载安装包
#wget https://****php****/distributions/php-5.5.32.tar.gz #tar -zxvf php-5.5.32.tar.gz #cd php-5.5.32
开始安装PHP服务
#./configure \ --prefix=/usr/local/php-5.5.32 \ --with-mysql=/opt/mysql/ \ --with-pdo-mysql=mysqlnd \ --with-iconv-dir \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --enable-mbregex \ --enable-fpm \ --enable-mbstring \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --enable-short-tags \ --enable-static \ --with-xsl \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-ftp \ --enable-opcache=no
################################################################
./configure 编译参数详解
prefix=/application/php5.3.27 指定[详细解释1. 确定;认定。]php的安装路径为/application/php5.3.27
with-mysql=/application/mysql/
需要指定mysql的安装路径,安装PHP需要的MySQL相关内容。当然如果没有MySQL软件包,也可以不单独安装,这样的情况可使用with-mysql=mysqlnd替代with-mysql=/application/mysql,因为PHP软件里面已经自带连接MySQL的客户端工具。
with-iconv-dir=/usr/local/libiconv libiconv库,各种字符集间的转换
with-freetype-dir 打开[打开,是一种常用的动词,它指的是,把器皿或盒子的盖子掀开。]对freetype字体库支持[支持:1. 支撑,撑住;2.勉强维持;3. 应付,打点;4. 供应;5. 把持,主持;6. 支援,赞同鼓励。]
with-jpeg-dir 打开对jpeg图片的支持
with-png-dir 打开对png图片的支持
with-zlib 打开zlib库的支持,用于http压缩传输
with-libxml-dir=/usr 打开libxml2库的支持
enable-xml
disable-rpath 关闭额外的运行库文件[文件是现代词,是一个专有名词,指的是形成的正式文书,分为公文、文书、函件和其他文件。]
enable-safe-mode 打开安全模式
enable-bcmath 打开图片大小调整,用zabbix监控时会用到该模块
enable-shmop
enable-sysvsem 使用sysv信号机制,则打开此选项
enable-inline-optimization 优化线程
with-curl 打开curl浏览工具的支持
with-curlwrappers 运用curl工具打开url流
enable-mbregex
enable-mbstring 支持mbstring
with-mcrypt 编码函数库
with-gd 打开gd库的支持
enable-gd-native-ttf 支持TrueType字符串函数库
with-openl openl的支持,加密传输时用到
with-mhash mhash算法的扩展
enable-pcntl freeTDS需要用到,可能是链接mql
enable-sockets 打开sockets支持
with-xmlrpc 打开xml-rpc的c语言
enable-zip 打开对zip的支持
enable-soap soap模块的扩展
enable-short-tags 开始和标记函数
enable-zend-multibyte 支持zend的多字节
enable-static 生成静态链接库
with-xsl 打开XSLT文件支持,扩展libXML2库,需要libxslt软件
enable-ftp 打开ftp的支持
enable-fpm 表示激活PHP-FPM方式服务,即FactCGI方式运行PHP服务。
with-fpm-user=www 指定PHP-FPM进程管理的用户为www,此处最好和Nginx服务用户统一。
with-fpm-group=www 指定PHP-FPM进程管理用户组为www,此处最好和Nginx服务用户组统一。
################################################################
备注:防错
#ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ #touch ext/phar/phar.phar
编译安装
# make # make install
创建软链接
#ln -s /usr/local/php-5.5.32 /usr/local/php
复制php配置文件[用户配置文件就是在用户登录电脑时,或是用户在使用软件时,软件系统为用户所要加载所需环境的设置和文件的集合。]到安装目录
#cp php.ini-production /usr/local/php/etc/php.ini
添加软链接到 /etc目录哈哈社推荐内容:数学课堂学习状态评价的意见怎么写闯红灯怎么办发红包能用亲属卡吗半身裙搭配什么上衣极端个性的发泄方式?营业执照多年没审还能审吗北京签王之王到底怎么样?婺源旅游东线上(靠近李坑江湾一带)有好的住宿推荐吗?南通哪个区域最富裕特步属于什么档次的品牌?dnf85史诗升级100怎么升级营业执照复印件给别人用有什么后果
#ln -s /usr/local/php/etc/php.ini /etc/php.ini
复制模板文件为php-fpm配置
#cp /usr/local/php/etc/php-fpm***nf.default /usr/local/php/etc/php-fpm***nf
添加软件链接到 /etc目录
#ln -s /usr/local/php/etc/php-fpm***nf /etc/php-fpm***nf
编辑php配置文件php-fpm***nf
#vim /usr/local/php/etc/php-fpm***nf pid = run/php-fpm.pid user = nginx group = nginx
保存并退出
#:wq!
修改网页存放文件夹权限
#chown -R nginx.nginx /usr/local/nginx/html
启动php-fpm
#/usr/local/php/sbin/php-fpm
二、开始配置nginx
1、找到nginx的配置文件,先备份文件配置文件
#cp/usr/local/nginx/conf/nginx***nf nginx***nf.bak
2、开始编辑配置文件
#vim /usr/local/nginx/conf/nginx***nf server { listen 80; server_name localhost; access_log /var/log/nginx/access.log main; location / { root /usr/share/nginx/html; index index.php; } 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; } }
(备注:$document_root可以用/usr/share/nginx/html替换)
3、保存配置文件,并重启
#:wq #/usr/local/nginx/sbin/nginx -t #/usr/local/nginx/sbin/nginx -s reload
备注:配置文件nginx***nf的解述如下
【 nginx***nf 】
#运行用户
user nginx;
#启动进程, 通常设置成和cpu的数量相等; 用cat /proc/cpuinfo查看cpu信息, cpu cores一栏显示内核数
worker_processes 1;
#全局错误日志及PID文件(
/usr/local/nginx/logs/error.log)
error_log /var/log/nginx/error.log;
#进程id存储文件(
/usr/local/nginx/logs/nginx.pid)
pid /var/run/nginx.pid;
#工作模式及连接数上限
events {
use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
worker_connections 1024; #单个后台worker process进程的最大并发链接数
# multi_accept on; #在nginx获得有新连接的通知之后,接受尽可能多的连接, 如果worker_connections设置太低的话,这样可能会造成拥堵
}
#设定[设定,拼音shè dìng,意思是陈设固定不动、犹拟定。]http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型,类型由mime.type文件定义[定义(Definition),原指对事物做出的明确价值描述。],可以打开mime.type来看(
/usr/local/nginx/conf/mime.types)
#MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型.
include /etc/nginx/mime.types;
#默认文件类型以二进制数据传输
default_type application/octet-stream;
#设定日志文件(
/usr/local/nginx/logs/access.log)
access_log /var/log/nginx/access.log;
#关闭在错误页面中的nginx版本数字,这样对于安全性是有好处的。
server_tokens off;
#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
#必须设为 on,如果用来进行下载等应用磁盘IO中负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;
#告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
#tcp_nopush on;
#给客户端分配keep-alive连接超时时间
#keepalive_timeout 0;
keepalive_timeout 65;
#告诉nginx不要缓存数据,而是一段一段的发送;当需要及时发送数据时,就应该给应用设置这个属性,这样发送一小块数据信息时就不能立即得到返回值
tcp_nodelay on;
#开启gzip压缩
gzip on;
#指定的客户端禁用gzip功能。我们设置成IE6或者更低版本以使我们的方案能够广泛兼容。
gzip_disable MSIE [1-6]\.(?!.*SV1);
#设定请求缓冲
、、 client_header_buffer_size 1k;
、、
large_client_header_buffers 4 4k;
open_file_cache max=100000 inactive=20s; #打开缓存的同时也指定了缓存最大数目,以及缓存的时间; 我们可以设置一个相对高的最大时间,这样我们可以在它们不活动超过20秒后清除掉。
open_file_cace_valid 30s; #在open_file_cache中指定检测正确信息的间隔时间
open_file_cache_min_uses 2; #定义了open_file_cache中指令参数不活动时间期间里最小的文件数
open_file_cache_errors on; #指定了当搜索一个文件时是否缓存错误信息,也包括再次给配置中添加文件。我们也包括了服务器模块,这些是在不同文件中定义的。如果你的服务器模块不在这些位置,你就得修改这一行来指定正确的位置。
#虚拟主机的配置文件
include /etc/nginx/conf.d/****nf;
include /etc/nginx/sites-enabled/*;
#设定负载均衡的服务器列表
upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的Squid开启3128端口
server 192.168.8.1:3128 weight=5;
server 192.168.8.2:80 weight=1;
server 192.168.8.3:80 weight=6;
}
server {
#侦听80端口
listen 80;
#定义使用****xx****访问
server_name ****xx****;
#设定本虚拟主机的访问日志
access_log logs/****xx****.access.log main;
#默认请求
location / {
root /root; #定义服务器的默认网站根目录位置
index index.php index.html index.htm; #定义首页索引文件的名称
fastcgi_pass ****xx****;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
# 定义错误提示页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /root;
}
#静态文件,nginx自己处理
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
root /var/www/virtual/htdocs;
#过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。
expires 30d;
}
#PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ \.php$ {
root /root;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
include fastcgi_params;
}
#设定查看Nginx状态的地址
location /NginxStatus {
stub_status on;
access_log on;
auth_basic NginxStatus;
auth_basic_user_file conf/htpasswd;
}
#禁止访问 .htxxx 文件
location ~ /\.ht {
deny all;
}
}
- 上一篇:恩替卡韦副作用
- 下一篇:excel乘法公式函数名称
- 日常常识排行