centos搭建网站教程_centos搭建服务器的方法

centos搭建网站教程_centos搭建服务器的方法,第1张

centos搭建网站教程_centos搭建服务器方法 首先,安装好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 -y3、安装和下载php下载地址:https://www.php.net/releases/,下载安装包#wget https://www.php.net/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 指定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字体库支持–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目录#ln -s /usr/local/php/etc/php.ini /etc/php.ini 复制模板文件为php-fpm配置#cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 添加软件链接到 /etc目录#ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf 编辑php配置文件php-fpm.conf#vim /usr/local/php/etc/php-fpm.conf pid = run/php-fpm.pid user = nginxgroup = nginx保存并退出#:wq!修改网页存放文件夹权限#chown -R nginx.nginx /usr/local/nginx/html 启动php-fpm#/usr/local/php/sbin/php-fpm二、开始配置nginx1、找到nginx的配置文件,先备份文件配置文件#cp/usr/local/nginx/conf/nginx.conf nginx.conf.bak2、开始编辑配置文件#vim /usr/local/nginx/conf/nginx.confserver {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;includefastcgi_params;} }(备注:$document_root可以用/usr/share/nginx/html替换)3、保存配置文件,并重启#:wq#/usr/local/nginx/sbin/nginx -t#/usr/local/nginx/sbin/nginx -s reload 备注:配置文件nginx.conf的解述如下【 nginx.conf 】#运行用户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设置太低的话,这样可能会造成拥堵}#设定http服务器,利用它的反向代理功能提供负载均衡支持http {#设定mime类型,类型由mime.type文件定义,可以打开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/*.conf;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;#定义使用www.xx.com访问server_name www.xx.com;#设定本虚拟主机的访问日志access_log logs/www.xx.com.access.log main;#默认请求location / {root /root; #定义服务器的默认网站根目录位置index index.php index.html index.htm; #定义首页索引文件的名称fastcgi_pass www.xx.com;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;}}

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

原文地址: http://outofmemory.cn/tougao/649186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-17
下一篇 2022-04-17

发表评论

登录后才能评论

评论列表(0条)

保存