13703353520(同微信) 周一~周五, 8:00 - 20:00
QQ:25681881或25295110 邮箱:qhdzxz@163.com
易得优软件 河北•秦皇岛
  • 站群系统

    自主建站,易得优自主建站站群系统

  • 易得优餐饮库管系统

    十七年专注开发

  • 易得优智能工控

    智能工控,易得优是认真的

  • 音乐打铃播放无需电脑

    易得优音乐打铃系统无电脑版

让CentOs系统同时支持php及aspx

    时间:2018-12-21 16:33:54     人气:3798


        (本文刊发于《网络安全和信息化》2018第12期)  

      CentOS,也叫做社区企业操作系统,是企业Linux发行版领头羊Red Hat Enterprise Linux的再编译版本,通过一定的安装配置,我们可以在这个免费的系统中运行用php开发的网站,也可以运行用C#.net开发的aspx网站,当然也可以同时支持php及aspx。

    具体过程:

一、安装CentOs系统。具体过程这里不再赘述,只是提醒两个小问题,1,系统安装时可以选择桌面安装,这样初学者可以利用CentOS的可视化界面进行相关操作,而不局限于终端命令行。2、为了安全起见,尽量把默认的ssh 22端口改一下,具体方法如下:用putty等软件登录系统终端,并输入以下命令修改防火墙设置:

#  firewall-cmd --zone=public  --add-port=2018/tcp –permanent

#  semanage port -a -t ssh_port_t -p tcp 2018

#  semanage port -l | grep ssh

再修改sshd_config

#  vi  /etc/ssh/sshd_config

在文件中加入一行:

Port=2018   #即把默认的22端口改成2018

保存文件后,执行下面命令:

#  systemctl restart sshd

#  systemctl restart sshd.service

#  systemctl restart firewalld.service

重启动后,就不能再用22端口登录服务器了,只能用2018端口来进行相关操作。用WinSCP软件登录服务器,测试是否可以正常登录,顺便做点儿准备工作,从网上下载并上传以下两个安装包文件到 /usr/local/src 目录:

mono-3.12.1.tar.bz2

jexus-5.6.5.tar.gz

下载并上传simsun.ttc 文件到  /usr/share/fonts 目录。

再用putty软件登录服务器,运行以下命令:

#  yum clean all   #清除yum缓存

#  yum makecache  #缓存本地yum源中的软件包信息

#  yum -y update

#  yum -y install make gcc perl perl-devel

#  yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel  cairo-devel

#  rpm -ivh http://mirrors.zju.edu.cn/epel//6/x86_64/epel-release-6-8.noarch.rpm

#  yum -y install libgdiplus-devel

到此,准备工作完成。

二、yum安装mysql5.7。

依次执行命令:

#  wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

#  rpm -ivh mysql57-community-release-el7-8.noarch.rpm

#  yum install mysql-server

#  service mysqld start

#  grep "password" /var/log/mysqld.log

这时会看到如下信息:

A temporary password is generated for root@localhost:  w5;JQg(dhqyL

信息最后的字符串“w5;JQg(dhqyL”就是mysql的临时密码。

开始登录mysql:

# mysql -u root -p

输入刚才的临时密码: w5;JQg(dhqyL

登录成功后就可以改密码了。

mysql>   set password for root@localhost = password('您的新密码');

注意这个密码要符合安全规则,大小写+数字+特殊字符+超过一定位数。

mysql>  flush privileges;

mysql>  quit

退出后再用新密码登录一下,如果成功了,先别做其他操作,最好要重新启动一下服务器。重启动服务器后,如果mysql没有自动启动,则自行设置随系统自动启动mysqld服务。另外再进行一些赋权设置:

mysql> grant all privileges on *.* to root@"%" identified by "您的新密码";

mysql> grant all privileges on *.* to root@"localhost" identified by "您的新密码";

mysql> flush privileges;

mysql> quit

    为了解决中文乱码问题,还需要修改配置文件my.cnf:

# vi  /etc/my.cnf    #在各段中加入如下内容

[mysqld]

character-set-server=utf8

init_connect='SET NAMES utf8'

[mysql]

no-auto-rehash

default-character-set=utf8

[client]

default-character-set=utf8

用service mysqld restart命令重启mysql后再登录,用以下命令查看一下字符集,出现6个utf8字样就算成功了。

    mysql>  show variables like '%character%';

三、安装mono3.12。

#  cd /usr/local/src

#  tar -jxvf mono-3.12.1.tar.bz2

#  cd mono-3.12.1

#  ./configure --prefix=/usr  

#  make

#  make install

四、安装 jexus 5.6。

#  cd /usr/local/src

#  tar -zxvf jexus-5.6.5.tar.gz

tar -zxvf  jexus-5.8.2-x64.tar.gz

#  cd jexus-5.6.5

cd   jexus

#  ./install

安装字体

#  yum -y install fontconfig mkfontscale

#  cd  /usr/share/fonts

#  fc-cache   -fv    #中文字体

#  mozroots --import --ask-remove --machine

修改jws文件,以设置忽略字母大小写:

#  vi /usr/jexus/jws

取消注释 export MONO_IOMAP="all" 这行代码(即去掉句首的#)。

用以下命令启动jexus:

#  /usr/jexus/jws start

#  /usr/jexus/jws restart

可以根据返回信息判断是否启动成功,启动成功后在客户端浏览器地址栏中输入:http://服务器IP/info ,如:http://192.168.1.8/info ,测试是否可以访问,如出现“Welcome to Jexus”字样,即为访问成功,如果不能访问,则需要设置一下防火墙:

#  firewall-cmd --zone=public  --add-port=80/tcp --permanent

重启动防火墙

#  systemctl restart firewalld.service

再测试是否可以正常访问即可。

接下来设置jexus开机自启动。

#  cd /etc/init.d/

#  vi jws

在jws文件中加入以下内容:

#!/bin/bash

#chkconfig: 2345 80 05

#description:jws

#

 . /etc/rc.d/init.d/functions

case "$1" in

start)

 echo "Jexus Start.."

/usr/jexus/jws start

;;

stop)

 echo "Jexus Stop.."

/usr/jexus/jws stop

 ;;

restart)

echo "Jexus Restart"

 /usr/jexus/jws restart

 ;;

status)

 /usr/jexus/jws status

 ;;

*)

exit 1

 ;;

esac

exit $RETVAL

    保存文件后,再把这个脚本加入系统服务。

#  chmod 766 jws

#  chkconfig --add  jws

五、安装php7。

#  rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

#  rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

#  yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring  php70w-pecl-redis php70w-pecl-memcached php70w-devel  

#  php -v   #查看版本信息。

    能看到版本信息,即说明安装成功。然后进行相关设置:

#  vi /etc/php.ini

在配置文件php.ini中找到“cgi.force_redirect=1”这一行,然后把前面的注释去掉,并把“1”改为“0”。然后再修改以下与文件上传与错误显示等相关的内容:

max_execution_time = 600

max_input_time = 600

memory_limit = 128m

file_uploads = on

upload_tmp_dir = /tmp

upload_max_filesize = 100m

post_max_size = 100m

output_buffering  =4096

display_errors = on

若要支持发送邮件,还需在php.ini中设置:

sendmail_path= /usr/sbin/sendmail -t -i 

再将main.cf中的init_interface配置localhost改为all

# vi /etc/postfix/main.cf

inet_interfaces = all

最后再修改一下jws.conf

#  vi /usr/jexus/jws.conf

把“php-fcgi.set=/usr/bin/php-cgi,6”前面的注释去除,这样jexus就就可以通过CGI的方式支持PHP了。

六、建立站点。

#  cd  /usr/jexus/siteconf

#  vi  www.qhdedu.com   #建立文件名为www.qhdedu.com的站点文件。

内容如下:

# Web Site: www.qhdedu.com

    #端口

port=80

#站点目录

root=/ /var/www/www.qhdedu.com 

#站点域名

hosts=www.qhdedu.com

# addr=0.0.0.0

# CheckQuery=false

NoLog=true

# NoFile=/index.aspx

# Keep_Alive=false

# UseGZIP=true

#使用php

usephp=true

# UseHttps=true

# DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24

# AllowFrom=192.168.*.*

# DenyDirs=~/cgi, ~/upfiles

# indexes=myindex.aspx

# rewrite=^/.+?.(asp|php|cgi|pl|sh)$ /index.aspx

# reproxy=/bbs/ http://192.168.1.112/bbs/

# Jexus php fastcgi address is '/var/run/jexus/phpsvr'

#下面这一句前边的#一定要去掉

fastcgi.add=php|socket:/var/run/jexus/phpsvr

# php-fpm listen address is '127.0.0.1:9000'

# fastcgi.add=php|tcp:127.0.0.1:9000

    (前边带#号的行,可以不录入)

多个站点就建立多个文件,文件名就用各自的域名即可,只是注意这些域名必须指向服务器IP,重启动jexus或直接启动服务器,就可以正常访问站点了。

 

 网络安全和信息化.jpg

 

赵学作,河北科技师范学院副教授,研究方向:网站建设及软件开发。